How trchopan/firebase-auth works
Firebase Auth is a small Rust runtime library that verifies Firebase ID tokens and integrates that verification with Axum and Actix request extraction. The main flow is a protected request carrying a bearer token, framework-specific extraction, token verification against cached Google public keys, and delivery of decoded claims as FirebaseUser. The library also refreshes its key cache and supports custom claim shapes through generic verification. The excerpts show the core and both adapters; examples document usage but are not separate runtime components.
Main entry points: firebase_auth.rs Firebase verifier · actix_feature.rs Actix extractor · axum_feature.rs Axum extractor · structs.rs Claims and JWK types
Components 7
Framework adapters
- Actix extractor
firebase-auth/src/actix_feature.rs - Axum extractor
firebase-auth/src/axum_feature.rs
Token verification
- Firebase verifier
firebase-auth/src/firebase_auth.rs
Claims and keys
- Claims and JWK types
firebase-auth/src/structs.rs
Other components
- API caller
- Google JWK endpoint
- Protected handler
Connections 8
- API caller → Actix extractor: sends bearer token
README.md - API caller → Axum extractor: sends bearer token
README.md - Actix extractor → Firebase verifier: verifies token
firebase-auth/src/actix_feature.rs - Axum extractor → Firebase verifier: verifies token
firebase-auth/src/axum_feature.rs - Firebase verifier → Google JWK endpoint: fetches JWKs
firebase-auth/src/firebase_auth.rs - Firebase verifier → Claims and JWK types: uses key types
firebase-auth/src/firebase_auth.rs - Actix extractor → Protected handler: provides FirebaseUser
README.md - Axum extractor → Protected handler: provides FirebaseUser
README.md