web-dev-qa-db-fra.com

Comment obtenir le jeton d'identification de FirebaseAuth

Je lis certains fichiers Json de ma base de données Firebase et j'essaie d'obtenir un jeton ID pour l'utilisateur actuel à utiliser dans l'en-tête comme suit:

 var response = await httpClient.get(url,headers: {'Authorization':"Bearer ${FirebaseAuth.instance.currentUser.getToken()}"});

lorsque je fais la ligne précédente, il semble qu'elle n'obtienne pas le jeton correct car je ne peux pas accéder à la base de données, cependant, lorsque j'inclus manuellement un jeton ID dans la chaîne, mon application fonctionne comme prévu. Qu'est-ce que je fais exactement mal?

9
aziza

getIdToken() renvoie un Future - vous devez le await pour obtenir réellement la chaîne de jeton:

var token = await FirebaseAuth.instance.currentUser().getIdToken();
var response = await httpClient.get(url,headers: {'Authorization':"Bearer $token"});
10
rinukkusu

U peut également récupérer le jeton id de l'objet window comme ceci:

const idToken = window.gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token
0