ios - Firebase 身份验证 token ,检查是否有效

标签 ios swift firebase firebase-authentication

是否可以检查身份验证 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/

相关文章:

swift - AudioToolbox、C 函数指针和 Swift

android - GetDownloadUrl 返回私有(private)链接,不公开,Firebase

ios - 如何从 Firebase 获取按时间顺序排列的最新帖子?

ios - 变量未在按钮按下操作内更新

swift - 闭包中的两次返回

ios - 使用 use_frameworks 安装 Facebook SDK!节肢动物

ios - 向 WKWebView 添加加载栏并选择其颜色

java - onComplete 方法不起作用

iphone - 想在 iphone 应用程序中添加提醒

c++ - 如何在内存中保留 C++ 对象?