Je sais que ce problème a été beaucoup posé ici, mais je n'arrive toujours pas à trouver la réponse exacte qui peut résoudre mon problème. Je souhaite accéder à Firebase en utilisant des appels REST, en ajoutant un paramètre access_token.Firebase REST auth lors de la création du jeton avec node.js admin sdk
Le access_token est créé en utilisant le SDK Node.js administrateur, en utilisant le code suivant:
var admin = require("firebase-admin");
var serviceAccount = require("./pk.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://XXX.firebaseio.com"
});
var uid = "1234";
admin.auth().createCustomToken(uid)
.then(function(customToken) {
// Send token back to client
console.log("Token: "+customToken);
})
.catch(function(error) {
console.log("Error creating custom token:", error);
});
Le problème est que si je prends le jeton créé à partir Node.js et utilise mon appel REST, je obtenez une erreur Unauthorized request
. J'ai lu dans quelques questions que les personnes ont ajouté le paramètre de portée lors de l'émission du jeton, mais n'ont pas trouvé un moyen de le faire avec Node.js Admin SDK.
Les documents de Google ne sont pas aussi détaillés dans ce numéro. Une idée de ce que je pourrais essayer de résoudre celui-ci?
Donc, si je comprends bien, il n'y a aucun moyen d'obtenir des jetons d'identité sans SDK client (REST du serveur)? – Ran
En fait, il existe une API REST non documentée que vous pouvez utiliser. Je travaille actuellement sur la documentation de cette API REST dans nos documents officiels, mais j'ai mis à jour ma réponse en attendant de vous débloquer. – jwngr
Merci @jacobawenger, mais quand j'essaie de suivre vos instructions, je reçois "Impossible de valider la signature." après avoir utilisé le id_token comme valeur pour le paramètre auth .. qu'est-ce qui pourrait être faux? – Ran