【问题标题】:Swift - Using Facebook Authentication of Firebase occur (INVALID_CREDENTIALS) errorSwift - 使用 Firebase 的 Facebook 身份验证发生 (INVALID_CREDENTIALS) 错误
【发布时间】:2016-08-26 12:38:00
【问题描述】:

Facebook 登录没问题,但 firebase 无法获取 Facebook 帐户详细信息。

  1. 我检查了 INVALID_CREDENTIALS 在 firebase 网站中的含义
  2. 我检查了 Facebook 应用 ID 和密码。
  3. 我删除了所有 IP 白名单

构建后,它会显示:

登录

登录失败。错误域=FirebaseAuthentication Code=-11 “(错误代码:INVALID_CREDENTIALS)提供的身份验证凭据无效。” UserInfo={details={"providerErrorInfo":{}}, NSLocalizedDescription=(Error Code: INVALID_CREDENTIALS) 提供的身份验证凭据无效。}

@IBAction func loginWithFB(sender: AnyObject) {
    let facebookLogin = FBSDKLoginManager()
    //self.performSegueWithIdentifier("CurrentlyLoggedIn", sender: sender)
    facebookLogin.logInWithReadPermissions(["public_profile", "email", "user_friends"], fromViewController: self, handler: {(facebookResult, facebookError) -> Void in
        if facebookError != nil {
            print("Facebook login failed. Error \(facebookError)")
        } else if facebookResult.isCancelled {
            print("Facebook login was cancelled.")
        }else{
            print("Loged in")
            let accessToken = FBSDKAccessToken.currentAccessToken().tokenString
            
            DataService.dataService.BASE_REF.authWithOAuthProvider("facebook", token: accessToken, withCompletionBlock: {error, authData in
                if error != nil{
                    print("Login failed. \(error)")
                }else{
                    print("Logged in! \(authData)")
                }})
        }
    })

【问题讨论】:

    标签: swift firebase facebook-authentication firebase-authentication


    【解决方案1】:

    你可以在你的项目中检查这行代码。我认为您的完成处理程序触发了这种情况。以下适用于我的项目。

      let facebookLogin = FBSDKLoginManager()
    
      facebookLogin.logInWithReadPermissions(["email"], fromViewController: self) { (facebookResult: FBSDKLoginManagerLoginResult!, facebookError: NSError!) in
    
            if facebookError == nil {
                if FBSDKAccessToken.currentAccessToken() == nil {
                    print("FOUND NIL!")
                }
                else if(facebookResult.isCancelled) {
                    print("Cancelled")
                }
                else {
                    let accessToken = FBSDKAccessToken.currentAccessToken().tokenString
                    print(accessToken)
    
                    DataService.ds.REF_BASE.authWithOAuthProvider("facebook", token: accessToken, withCompletionBlock: {
                        error, authData in
    
                        if error != nil {
                            print("yes \(error)")
                        }
                        else {
    
                            print("Logged in! \(authData)")
    
                        }
                    })
    
                }
            }
    
       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 2016-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多