iOS:Firebase和facebook帐户套件登录

时间:2017-02-13 18:30:42

标签: ios swift firebase firebase-authentication facebook-account-kit

我想问一下是否有人可以指导我如何使用Facebook的帐户套件为firebase添加电话登录的示例或说明。

我从facebook帐户套件获取accessToken,然后尝试像这样授权

fileprivate func authorizeWithAccessToken(_ accessToken: AKFAccessToken?, phoneNumber: AKFPhoneNumber?, error: NSError?) {
    guard let accessToken = accessToken else {
        return
    }

    FIRAuth.auth()?.signIn(withCustomToken: accessToken.tokenString) { (user, error) in
        if (error != nil) {
            print(error?.localizedDescription)
        } else {
            print("User logged in")
        }
    }
}

但我收到错误:

  

“自定义令牌格式不正确。请查看文档。” UserInfo = {NSLocalizedDescription =自定义标记格式不正确。请查看文档。,error_name = ERROR_INVALID_CUSTOM_TOKEN})

这是我的代币:

  

EMAWeGCejpgSijO0ncgBYl7HxLTZBy0rWrwaHihA81ZB286EEPhdZCtDSWZAnajp8pmX10E1ZCJDV7Ghwz0NrxRMhZCgSPzZC9imjbamk8bvv2AZDZD

1 个答案:

答案 0 :(得分:0)

为什么使用customTokens进行Facebook身份验证,而不是使用Firebase为Facebook设置的内置凭据方法?

而不是Token使用Facebook库创建凭证对象:

let credential = FIRFacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)

并将此对象传递给signIn(with: )方法。

FIRAuth.auth()?.signIn(with: credential) { (user, error) in
    if let err = error {
      print(err?.localizedDescription)
     return
   }

   // Do your stuff here....
}

可以找到使用Firebase和Facebook的完整文档here

相关问题