【发布时间】:2019-03-12 09:59:30
【问题描述】:
我正在尝试以下代码来获取 Firebase 用户的令牌及其到期时间:
fun refreshToken(apiBlock: (() -> Unit)? = null) {
val firebaseUser = FirebaseAuth.getInstance().currentUser
if (firebaseUser != null) {
firebaseUser.getIdToken(false)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
generatedToken = task.result.token
val tokenExpirationTime = task.result.expirationTimestamp
apiBlock?.invoke()
} else {
// Handle error -> task.getException();
}
}
}
}
但是我在以下行遇到编译错误:
val tokenExpirationTime = task.result.expirationTimestamp
当我试图检查反编译类中是否存在此方法时,我无法获得任何此类方法:
package com.google.firebase.auth;
import android.support.annotation.Nullable;
import com.google.android.gms.common.internal.Hide;
public class GetTokenResult {
private String zzeia;
@Hide
public GetTokenResult(String var1) {
this.zzeia = var1;
}
@Nullable
public String getToken() {
return this.zzeia;
}
}
但是根据GetTokenResult class reference 应该有 getExpirationTimestamp() 方法:
getExpirationTimestamp() 返回自纪元以来的时间(以毫秒为单位) 此 ID 令牌的到期时间
我这里有什么遗漏吗?
【问题讨论】:
标签: android firebase kotlin firebase-authentication