我目前正在使用 Firebase 进行身份验证。 我可以获取登录令牌到期日吗? 我想在令牌过期时刷新令牌。
在这里,我检索登录令牌。
func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?) {
Auth.auth().addStateDidChangeListener { auth, user in
if user != nil {
if let providerData = authUI.auth?.currentUser?.providerData {
for userInfo in providerData {
let currentUser = Auth.auth().currentUser
currentUser?.getIDToken(completion: { (idToken, error) in
print("idToken====(String(describing: idToken!))")
if let error = error {
// Handle error
return;
}else{
}
// Send token to your backend
})
}
您需要通过 JWT 解析器解析 ID 令牌。您可以使用类似以下内容的库: https://github.com/auth0/JWTDecode.swift
然后,您将检查exp
字段。它将包含过期时间的 UTC 时间戳。