私はFirebaseデータベースからいくつかのJsonファイルを読んでおり、次のようにヘッダーで使用される現在のユーザーのIDトークンを取得しようとしています:
var response = await httpClient.get(url,headers: {'Authorization':"Bearer ${FirebaseAuth.instance.currentUser.getToken()}"});
前の行を実行すると、データベースにアクセスできないため正しいトークンを取得できないようですが、IDトークンを文字列に手動で含めると、アプリケーションは意図したとおりに動作します。私が間違っているのは正確には何ですか?
getIdToken()
はFuture
を返します-トークン文字列を実際に取得するにはawait
する必要があります:
var token = await FirebaseAuth.instance.currentUser().getIdToken();
var response = await httpClient.get(url,headers: {'Authorization':"Bearer $token"});
Uは、次のようにウィンドウオブジェクトからidトークンを取得することもできます。
const idToken = window.gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token