checkApproved method

Future<AuthResultStatus> checkApproved(
  1. User user
)

Checks if a user has been approved

Checks the custom claim approved to see if it is true. Returns a AuthResultStatus

Implementation

Future<AuthResultStatus> checkApproved(User user) async {
  final Map<String, dynamic>? claims = await user.getIdTokenResult(true).then(
        (idTokenResult) => idTokenResult.claims,
      );
  if (instance.currentUser!.emailVerified == true &&
      claims!['approved'] == true) {
    return AuthResultStatus.successful;
  } else if (instance.currentUser!.emailVerified == false) {
    return AuthResultStatus.notEmailVerified;
  } else if (claims!['approved'] == false) {
    return AuthResultStatus.userDisabled;
  } else {
    return AuthResultStatus.undefined;
  }
}