【问题标题】:Merge anonymous account to email and password account in firebase with polymer使用聚合物将匿名帐户合并到 Firebase 中的电子邮件和密码帐户
【发布时间】:2017-12-12 16:13:00
【问题描述】:

我正在使用聚合物和 firebase 创建一个网络应用程序,我希望能够合并匿名登录的帐户,以便能够合并到电子邮件和密码帐户。

我找到了关于如何实现这一点的官方文档 https://firebase.google.com/docs/auth/web/anonymous-auth ,但是当我尝试它时,它不起作用。

文档提供了代码示例

auth.currentUser.link(credential).then(function(user) {
  console.log("Anonymous account successfully upgraded", user);
}, function(error) {
  console.log("Error upgrading anonymous account", error);
});

此时我很困惑,因为这个“auth”变量不知从何而来。

我尝试替换元素的用户属性

<firebase-auth 
  id="auth"
  user="{{user}}"
  on-error="handleError">
</firebase-auth>

,但它给了我以下错误:

Uncaught TypeError: this.user.link is not a function

在这个例子中我应该为“auth”设置什么变量?或者,如何使用 polymerfire 将匿名帐户合并到电子邮件和密码帐户?

【问题讨论】:

    标签: firebase polymer firebase-authentication


    【解决方案1】:

    好的,我想通了。

    原来“链接”方法已被弃用,而我们必须使用“linkWithCredential”,所以代码将是

    this.$.auth.auth.currentUser.linkWithCredential(credential).then(function(user) {
      console.log("Anonymous account successfully upgraded", user);
    }, function(error) {
      console.log("Error upgrading anonymous account", error);
    });
    

    【讨论】:

      【解决方案2】:

      Polymer 的 firebase-auth 元素具有 auth 属性。所以你可以绑定到它:

      <firebase-auth 
        id="auth"
        user="{{user}}"
        auth="{{auth}}"
        on-error="handleError">
      </firebase-auth>
      

      & 然后直接在包含元素中使用 this.auth,或者您可以直接在代码中直接引用它而无需绑定,例如:

      this.$.auth.auth
      

      旁注 - firebase-auth 的文档给出了一个“auth”的示例元素 id 导致上面的“auth.auth”,这让人有点困惑。

      【讨论】:

      • 我实际上试过这个,但得到以下错误“this.$.auth.auth.currentUser.link is not a function”
      • 谢谢,“this.$.auth.auth”帮助了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 2014-07-15
      • 2017-03-20
      • 1970-01-01
      相关资源
      最近更新 更多