【问题标题】:Angularfire2 Merge anonymous user with Facebook/Google accountAngularfire2 将匿名用户与 Facebook/Google 帐户合并
【发布时间】:2017-03-20 05:43:25
【问题描述】:

我已成功通过 Google/Facebook 匿名登录用户。

user.service.ts

loginFacebook() {
    this.af.auth.login({
        provider: AuthProviders.Facebook,
        method: AuthMethods.Popup,
    });
}
loginGoogle() {
    this.af.auth.login({
        provider: AuthProviders.Google,
        method: AuthMethods.Popup,
    });
}
loginAnonymous() {
    this.af.auth.login({
        provider: AuthProviders.Anonymous,
        method: AuthMethods.Anonymous,
    });
}

但我想做的是将匿名用户与 Facebook 用户合并。

因为现在发生了什么:
匿名用户 => uuid 1
匿名用户 (uuid 1) => 登录 facebook/google => fb 用户 (uuid 2)

所以我在同一用户的数据库中有 2 个不同的 uuid。

你知道如何用 AngularFire2 做到这一点吗?

谢谢

【问题讨论】:

    标签: angular firebase firebase-realtime-database firebase-authentication angularfire2


    【解决方案1】:

    在您登录匿名用户后,每当用户升级到 facebook/google 帐户时,请先尝试链接。调用anonymousUser.linkWithPopup(facebookProvider)。这要么会成功,要么会抛出 facebook 用户存在的错误。在这种情况下,错误将包含 facebook 凭据。然后您可以 signInWithCredential(error.credential) 并手动将匿名用户与 facebook 用户合并(将数据从一个复制到另一个),然后您可以删除匿名用户。

    【讨论】:

      猜你喜欢
      • 2018-04-28
      • 1970-01-01
      • 2017-12-12
      • 2012-10-28
      • 1970-01-01
      • 2012-11-27
      • 2013-02-24
      • 2023-03-12
      • 2021-07-16
      相关资源
      最近更新 更多