2

我想询问是否有人能够指示我如何使用Facebook帐户套件为Firebase添加电话登录的示例或解释。iOS:Firebase和Facebook帐户套件登录

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

但我得到的错误:

"The custom token format is incorrect. Please check the documentation." UserInfo={NSLocalizedDescription=The custom token format is incorrect. Please check the documentation., error_name=ERROR_INVALID_CUSTOM_TOKEN})

这里我令牌:

EMAWeGCejpgSijO0ncgBYl7HxLTZBy0rWrwaHihA81ZB286EEPhdZCtDSWZAnajp8pmX10E1ZCJDV7Ghwz0NrxRMhZCgSPzZC9imjbamk8bvv2AZDZD

回答

0

为什么您使用customTokens进行Facebook身份验证,而不是使用内置凭证方式ds 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.... 
} 

使用火力地堡和Facebook的全部文献资料可以发现here

+0

谢谢您的回答,但我不使用Facebook的我使用Facebook的账户套件[链接](HTTPS://developers.facebook。 COM /产品/帐户试剂盒?&PRODUCT_ID =&GCLID = Cj0KEQiA8orFBRCEpODivaOft_EBEiQAy3mlfXpghnE0rxDmWORuq87O-qTsXhjUdgzFHdxI5-WF_L0aArjK8P8HAQ) –