新的Firebase Facebook登录

6

我正在尝试使用新的Firebase平台创建Facebook登录。

以下是Facebook登录的代码:

let facebookLogin = FBSDKLoginManager()
    facebookLogin.logInWithReadPermissions(["email"], fromViewController: self) { (result, error) -> Void in
        if error != nil {
            print("error is \(error)")
        } else {
            let accessToken = FBSDKAccessToken.currentAccessToken().tokenString

            let credential = FIRFacebookAuthProvider.credentialWithAccessToken(accessToken)

            AUTH?.signInWithCredential(credential, completion: { (user, error) -> Void in

                if error != nil {
                    print("error is \(error)")
                } else {
                    print(user)
                    NSUserDefaults.standardUserDefaults().setValue(user?.uid, forKey: KEY_UID)
                    self.performSegueWithIdentifier(SEGUE_LOGGEDIN, sender: nil)
                }
            })
        }

这是我收到的错误代码

可选(错误域=FIRAuthErrorDomain Code=17999 "发生了内部错误,请打印并检查错误详细信息以获取更多信息。" UserInfo={error_name=ERROR_INTERNAL_ERROR, NSUnderlyingError=0x79f082b0 {Error Domain=FIRAuthInternalErrorDomain Code=3 "(null)" UserInfo={FIRAuthErrorUserInfoDeserializedResponseKey={type = 不可变字典, count = 3, entries =>

0 : {contents = "errors"} = {type = 不可变, count = 1, values = (

0 : {type = 不可变字典, count = 3, entries =>

0 : {contents = "reason"} = {contents = "invalid"}

1 : {contents = "message"} = {contents = "从Facebook获取debug_token失败:{“error”:{“message”:“无效的OAuth访问令牌签名。”,“type”:“OAuthException”,“code”:190,“fbtrace_id”:“BrewfOSy / fH”}}"}

2 : {contents = "domain"} = {contents = "global"} }

)}

1 : {contents = "code"} = {value = +400,type = kCFNumberSInt64Type}

2 : {contents = "message"} = {contents = "从Facebook获取debug_token失败:{“error”:{“message”:“无效的OAuth访问令牌签名。”,“type”:“OAuthException”,“code”:190,“fbtrace_id”:“BrewfOSy / fH”}}"}

},NSLocalizedDescription=发生了内部错误,请打印并检查错误详细信息以获取更多信息。})


有类似的问题,这个问题已经解决了吗? - mm24
尝试升级到Firebase 3.2后,使用Google登录时遇到了此问题。 - rrphenix
在错误项2中,它涉及到OAuth协议。您是否在Facebook开发者页面上启用了OAuth重定向? - MiguelSlv
@ByteArtisan 是的,我做了。 - orim553
有人解决这个问题了吗? - tommybananas
检查/review-status/中的状态。应用程序应处于活动状态。 - Daniel Kuta
2个回答

4

请确保在 Firebase 控制台中启用 Facebook 认证。

请确保在 Firebase 控制台中输入正确的 FACEBOOK 应用程序 ID 和应用程序密钥。(不是您的 XCode 应用程序 ID)


-4

// 使用 Firebase 进行身份验证

FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in

当我使用 GoogleSignIn 时,也会返回相同的错误代码“FIRAuthErrorDomain”。文档中没有关于“FIRAuthErrorDomain”的描述。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接