我正在开发应用并使用firebase来管理用户。我成功创建了一个用户,然后成功登录了他。
当我请求idToken时出现问题。 我试过了
FirebaseUser mUser = FirebaseAuth.getInstance().getCurrentUser();
mUser.getToken(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();
}
}
});
我也试过
final FirebaseAuth.IdTokenListener handle = new FirebaseAuth.IdTokenListener() {
@Override
public void onIdTokenChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser mUser = firebaseAuth.getCurrentUser();
if(mUser!=null){
Log.w("User getToken: user :", mUser.getDisplayName());
mUser.getIdToken(true)
.addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
public void onComplete(@NonNull Task<GetTokenResult> task) {
if (task.isSuccessful()) {
String idToken = task.getResult().getToken();
Log.w("User getToken: ", idToken);
} else {
}
}
});
}
}
};
FirebaseAuth mAuth = FirebaseAuth.getInstance();
mAuth.addIdTokenListener(handle);
何时
Log.w("User getToken: user :", mUser.getDisplayName());
被称为我获得的信息来自新创建的用户但是
Log.w("User getToken: ", idToken);
调用,令牌值始终相同。奇怪的是它在今天之前工作。我没有做出任何改变,所以即使当前用户正在改变,我也不知道为什么我收到的令牌总是一样的。