是否可以检查身份验证 token 是否无效?
FIRAuthErrorCode.errorCodeInvalidUserToken
这显示为可能的错误,但除了如下所示登录或重置密码外,我不知道如何访问此错误。
FIRAuth.auth()?.sendPasswordReset(withEmail: email, completion: { (error) in
if let err = error as? NSError {
if let errorCode = FIRAuthErrorCode(rawValue: err.code){
if errorCode == FIRAuthErrorCode.errorCodeInvalidUserToken{
self.alertFunc(title: "Error", message: "invalid token")
}
}
} else{
self.alertFunc(title: "Success", message: "Password reset email has been sent")
}
如果用户有几台设备登录到同一个帐户,并在一台设备上重设了密码,那么其他设备将由于 token 无效而无法发布到 firebase。我需要其他设备上的应用能够识别无效 token ,然后提示用户输入用户名和密码。
任何帮助或链接将不胜感激,谢谢!
最佳答案
FIRAuth.auth()?.currentUser?.getTokenWithCompletion({ (string, err) in
if err != nil{
if let err = err as NSError?{
if let error = FIRAuthErrorCode(rawValue: err.code){
switch error{
case .errorCodeInvalidCredential: self.delegate.invalidToken()
case .errorCodeInvalidUserToken: self.delegate.invalidToken()
case .errorCodeUserTokenExpired: self.delegate.invalidToken()
case .errorCodeInvalidCustomToken: self.delegate.invalidToken()
case .errorCodeCustomTokenMismatch: self.delegate.invalidToken()
default: print("call default error")
}
}
}
}
})
关于ios - Firebase 身份验证 token ,检查是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43284494/