是否可以检查身份验证令牌是否无效?
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")
}
如果用户有少量设备登录到同一帐户,并在一个帐户上重置密码,则其他设备将因无效令牌而无法发布到firebase。我需要其他设备上的应用程序能够识别无效令牌,然后提示用户输入用户名和密码。
任何帮助或链接都将不胜感激,谢谢!
答案 0 :(得分:0)
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")
}
}
}
}
})