I'm developing a new REST Service using Quarkus (1.3.2.Final) and I'm trying to integrate Firebase Authentication with Smallrye-Jwt but it failed.
My first try was to point publickey.location to Google's URL and it failed because there are two keys and the correct publicKey to check signature depends on jwt "kid" header value:
mp.jwt.verify.publickey.location=https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com
mp.jwt.verify.issuer=https://securetoken.google.com/<projectId>
quarkus.smallrye-jwt.auth-mechanism=MP-JWT
quarkus.smallrye-jwt.enabled=true
My second try was create a service (Kind of "PublicKeyResolver") to request google's url and extract the correct public key based on "kid" claim value:
mp.jwt.verify.publickey.location=http://localhost:8080/api/certs/publicKey
That strategy failed because "Authorization" http header is not included in request for publicKey.
There is a way to integrate Quarkus and Firebase Authentication?