3

我想问是否有人可以指导我举例说明如何使用 Facebook 的 Account Kit 为 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

4

1 回答 1

0

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

使用 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 的完整文档

于 2017-02-13T18:48:11.720 回答