我正在使用Firebase电子邮件/密码身份验证.用户成功登录后,我通过以下方式查询访问令牌:
FirebaseUser mUser = FirebaseAuth.getInstance().getCurrentUser();
mUser.getIdToken(true)
.addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
public void onComplete(@NonNull Task<GetTokenResult> task) {
if (task.isSuccessful()) {
String idToken = task.getResult().getToken();
// Send token to your backend via HTTPS
// ...
} else {
// Handle error -> task.getException();
}
}
});
Run Code Online (Sandbox Code Playgroud)
根据Firebase文档,访问令牌在1小时后到期.为了处理我的应用程序中始终存在当前访问令牌的情况,我一直在寻找解决方案,我在firebase文档中发现我必须注册一个Firebase.IdTokenListener来监听
onIdTokenChanged事件
我的问题是:是吗?
onIdTokenChanged事件
如果访问令牌过期,会自动触发?
如果在访问令牌到期后事件未自动触发,那么"手动"查询新的/更新的Access令牌的coorect方法是什么?
"FirebaseAuth.getInstance().getCurrentUser().getIdToken(boolean)"
Run Code Online (Sandbox Code Playgroud)
方法?
我知道,如果我打电话给
mUser.getToken(真)
然后提到的事件被解雇了
IdTokenListener
被触发了.但这不是我正在寻找的.