【问题标题】:Linking firebase password user with facebook user将firebase密码用户与facebook用户链接
【发布时间】:2017-12-05 22:36:43
【问题描述】:

我已经使用 Firebase 成功实现了电子邮件和 Facebook 登录身份验证。我现在想允许电子邮件用户将他们的帐户与 Facebook 关联。

我有以下代码:

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

 if let user = Auth.auth().currentUser {
     user.link(with: credential, completion: { user, error in
         // 
     })
 }

链接有效,但返回的用户既没有 displayName 也没有 photoUrl。用户在完成块中返回或通过Auth.auth().currentUser 访问用户时返回。

虽然直接使用 Facebook 进行身份验证时,用户确实有一个 displayName 和 photoUrl。不知道为什么在链接帐户时这些属性为零。有任何想法吗?

【问题讨论】:

    标签: swift facebook firebase firebase-authentication


    【解决方案1】:

    我假设您首先使用电子邮件/密码注册用户,然后将 Facebook 链接到他们的帐户。 Firebase 身份验证后端不会将 Facebook 个人资料数据复制到顶级 displayNamephotoURL。 但是,解决这个问题很简单,您可以在链接后,从 Facebook currentUser.providerData[indexOfFacebook] 复制 Facebook displayName 和 photoURL,并使用 currentUser.createProfileChangeRequest() 更新 currentUser 上的 displayNamephotoURL

    【讨论】:

      猜你喜欢
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      相关资源
      最近更新 更多