[英]Firebase Auth UI Android, task returned by getIdToken() never completes
成功登錄后,我無法使用 getIdToken() 方法獲取 ID 令牌。 此方法返回一個任務,而該任務永遠不會完成。 在 Android 應用程序中使用 Firebase Auth UI 使用基本電子郵件 ID/密碼身份驗證。
new AuthUI.IdpConfig.EmailBuilder().build()
這是庫版本:
implementation 'com.firebaseui:firebase-ui-auth:6.1.0'
這是我獲取令牌的方式:
public String getIdToken(){
String token = null;
Task<GetTokenResult> task = FirebaseAuth.getInstance().getCurrentUser().getIdToken(true);
while(!task.isComplete()){
}
if(task.isSuccessful()){
token = task.getResult().getToken();
}else{
token = "token_gen_failed";
}
return token;
}
while 循環永遠不會結束,因為任務永遠不會完成。 如何等待這個任務? 此代碼用於 firebase-UI-auth:3.2.2。 現在我正在嘗試將這個庫升級到 6.1.0。
請在這里提供任何幫助,嘗試了很多東西。
我在日志中看到的是:
D/FirebaseAuth: Notifying id token listeners about user ( xxxxxxxxxx ).
你可以這樣做
task.addOnCompleteListener(task -> {
if(task.isSuccessful() & task.getResult() != null){
token = task.getResult().getToken();
}else{
token = "token_gen_failed";
}
//do here whatever you want to do with token;
}
如果您想將其用作單獨的功能,請告訴我。 你必須為它做一些額外的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.