Próbuję zweryfikować backend idToken. Użytkownik został pomyślnie zalogowany do Firebase stronie klienta, ale gdy próbuję zweryfikować idToken na moim backend otrzymuję ten nie bardzo pomocny komunikat o błędzie wydajeToken Firebase Auth ID ma niepoprawne żądanie "aud"
wiadomośćFirebase Auth ID token has incorrect "aud" claim
Błąd aby stały się trochę bardziej pouczające, i czyraki aż do braku nazwy projektu w kluczu autoryzacji:
Error: Firebase ID token has incorrect "aud" (audience) claim. Expected "stripmall-0000" but got "617699194096-0aafcvsml0gke61d6077kkark051f3e1.apps.googleusercontent.com". Make sure the ID token comes from the same Firebase project as the service account used to authenticate this SDK. See https://firebase.google.com/docs/auth/server/verify-id-tokens for details on how to retrieve an ID token.
Ktoś, kto ma najmniejszy pomysł, co może być nie tak? Otrzymuję tokenId poprawnie od klienta, więc nie powinno to stanowić problemu. Szczere apologie, jeśli wcześniej o to pytano lub w jakikolwiek inny sposób byłyby trywialne.
firebase.initializeApp({
serviceAccount: {
"type": "service_account",
"project_id": <project id here>,
"private_key_id": <key id goes here>,
"private_key": <key goes here>
"client_email": <email goes here>,
"client_id": <my client id>,
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": <url goes here>
},
databaseURL: <my db url here>
});
router.post("/verify", function (req, res) {
firebase.auth().verifyIdToken(req.body.idToken).then(function (decodedToken) {
var uid = decodedToken.sub;
res.send(uid);
}).catch(function (error, param2) {
console.log(error); // 'Firebase Auth ID token has incorrect "aud" claim'
});
});
Z tego, co rozumiem jako "aud" odnosi się do "odbiorców" iw tym przypadku odnosi się do identyfikatora projektu. Czy na pewno masz tam poprawny project_id? –
Cóż, zostały one przekazane bezpośrednio z pliku json, który pobieramy, więc nie mogę sobie wyobrazić, że coś byłoby z tym nie tak ... – Faustus
Widzę to również konsekwentnie źle. Dostaje kolejną wiadomość, jaki powinien być mój klucz odbiorców. –