【发布时间】:2018-09-14 08:08:22
【问题描述】:
我正在使用 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();
}
}
});
根据 Firebase 文档,访问令牌会在 1 小时后过期。为了处理在我的应用程序中始终拥有当前访问令牌的情况,我一直在寻找解决方案,我在 firebase 文档中发现我有 to register a Firebase.IdTokenListener 来收听
onIdTokenChanged 事件
我的问题是:是
onIdTokenChanged 事件
如果访问令牌过期自动触发?
如果访问令牌过期后未自动触发事件,使用
"FirebaseAuth.getInstance().getCurrentUser().getIdToken(boolean)"
方法?
我知道,如果我打电话给
mUser.getToken(true)
然后提到的事件被触发并且
IdTokenListener
被触发。但这不是我想要的。
【问题讨论】:
标签: java android firebase firebase-authentication