dart_firebase_admin icon indicating copy to clipboard operation
dart_firebase_admin copied to clipboard

Auth#verifyIdToken always throws unimplemented error

Open zacharypuulsedev opened this issue 1 year ago • 8 comments

Version 0.3.0

I know it's an early build, so just drawing attention to a blocking feature for wider adoption. We use verifyIdToken to verify requests from clients before performing requests using admin functionality or firestore.

Unfortunately, I don't have enough familiarity with the jwt spec and library design to understand what the jwtKey and other missing params are at src/utils/jwt.dart:100.

Issue: Auth#verifyIdToken always throws unimplemented error.

Reproduce:

final FirebaseAdminApp admin =  await FirebaseAdminInitialization(container).initialize();
final auth = Auth(admin);
final idToken = await auth.verifyIdToken(jwt);
await admin.close();

StackTrace:

#0      PublicKeySignatureVerifier.verify (package:dart_firebase_admin/src/utils/jwt.dart:100)
#1      FirebaseTokenVerifier._verifySignature (package:dart_firebase_admin/src/auth/token_verifier.dart:119)
#2      FirebaseTokenVerifier._decodeAndVerify (package:dart_firebase_admin/src/auth/token_verifier.dart:101)
<asynchronous suspension>
#3      FirebaseTokenVerifier.verifyJWT (package:dart_firebase_admin/src/auth/token_verifier.dart:76)
<asynchronous suspension>
#4      _BaseAuth.verifyIdToken (package:dart_firebase_admin/src/auth/base_auth.dart:360)

zacharypuulsedev avatar Feb 05 '24 21:02 zacharypuulsedev