validate method
Validates a given JWT from Firebase Auth.
Example:
final validator = FirebaseAuthValidator();
await validator.init();
final token = validator.validate(token)
if (token.isVerified) {
// ... do authenticated stuff
}
Implementation
Future<IdToken> validate(
String token,
) async {
assert(client != null);
final credential = client!.createCredential(idToken: token);
await for (var e in credential.validateToken()) {
throw Exception('Validating ID token failed: $e');
}
if (!(credential.idToken.claims.subject.isNotEmpty &&
credential.idToken.claims.subject.length <= 128)) {
throw Exception(
'ID token has "sub" (subject) claim which is not a valid uid',
);
}
return credential.idToken;
}