Firebase身份验证令牌,检查是否有效

时间:2017-04-07 18:03:31

标签: ios swift firebase firebase-authentication

是否可以检查身份验证令牌是否无效?

  

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。我需要其他设备上的应用程序能够识别无效令牌,然后提示用户输入用户名和密码。

任何帮助或链接都将不胜感激,谢谢!

1 个答案:

答案 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")
                }
            }
        }
    }
})