getUserClaims method

Future<UserClaims> getUserClaims()

Implementation

Future<UserClaims> getUserClaims() async {
  try {
    firebase_auth.User? user = _auth.currentUser;
    if (user == null) {
      return UserClaims(role: Roles.visitor);
    }

    await user.getIdToken(true);
    firebase_auth.IdTokenResult idTokenResult = await user.getIdTokenResult();
    return UserClaims.fromJson(idTokenResult.claims ?? {});
  } catch (e) {
    error('Error fetching user claims: ${e.toString()}');
    return UserClaims(role: Roles.visitor);
  }
}