我正在使用聚合物和firebase创建一个Web应用程序,我希望能够合并匿名登录的帐户,以便能够合并到电子邮件和密码帐户。
我找到了关于如何实现这一目标的官方文档 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);
});
我很困惑,因为这是#34; auth"变量突然出现在哪里。
我尝试替换my元素的用户属性
<firebase-auth
id="auth"
user="{{user}}"
on-error="handleError">
</firebase-auth>
,但它给了我以下错误:
Uncaught TypeError: this.user.link is not a function
我应该为&#34; auth&#34;提供什么变量?在这个例子中?或者,如何使用polymerfire将匿名帐户合并到电子邮件和密码帐户?
答案 0 :(得分:1)
Polymer&amp; firebase-auth元素具有auth属性。所以你可以绑定它:
<firebase-auth
id="auth"
user="{{user}}"
auth="{{auth}}"
on-error="handleError">
</firebase-auth>
&安培;然后直接在你的包含元素中使用this.auth,或者你可以直接在你的代码中引用它,而不是像以下那样绑定:
this.$.auth.auth
旁注 - 让firebase-auth的文档给出示例元素id&#34; auth&#34;会让人感到困惑。导致&#34; auth.auth&#34;上方。
答案 1 :(得分:1)
好的,我明白了。
原来,&#34;链接&#34;方法已被弃用,而我们必须使用&#34; linkWithCredential&#34;,因此代码将是
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);
});