validateFirebaseToken function
Middleware
validateFirebaseToken()
A middleware that validates the signature and contents of the request token for a Firebase end user.
This middleware builds on top of Dart Frog's bearerAuthentication
middleware and provides with token parsing and verification.
It expects to find public keys in the request context and uses them to
verify the token signature.
Don't use this middleware directly but instead use
authenticateFirebaseUser.
Implementation
Middleware validateFirebaseToken() {
return (handler) {
return (context) async {
final projectId = await context.read<Future<Project>>();
return handler.use(
_validateToken<Pem>(
audience: projectId.id,
issuer: issuerFirebasePrefix + projectId.id,
requiredAlgorithm: 'RS256',
requireKeyId: true,
verifyFirebaseClaims: true,
),
)(context);
};
};
}