2017-04-07 89 views
1

是否可以檢查身份驗證令牌是否無效?Firebase身份驗證令牌,檢查是否有效

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

如果用戶登錄到同一帳戶幾臺設備,並在一個重設密碼,那麼其他人將無法張貼到火力,由於其無效令牌。我需要其他設備上的應用程序能夠識別無效令牌,然後提示用戶輸入用戶名和密碼。

任何幫助或鏈接,將不勝感激,謝謝!

回答

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") 
       } 
      } 
     } 
    } 
}) 
相關問題