我无法成功执行此操作,我按照 Firebase 文档上的说明执行了以下步骤:
- 使用现有的身份验证提供程序登录使用(我的案例:脸书).
- 完成新身份验证提供程序的登录流程,直至(但不包括)调用其中之一
Auth.signInWith
方法。(我的情况:我想链接电子邮件和密码和 Google OAUth)。所以这是我不清楚的步骤,我使用创建了一个新的提供程序var provider = new firebase.auth.GoogleAuthProvider();
我没有做Firebase.auth().signInWithPopup(provider)
.
- 然后为了获得谷歌的身份验证我运行
var credential = firebase.auth.GoogleAuthProvider.credential(
googleUser.getAuthResponse().id_token);
(我收到未定义的 googleUser 错误)这个错误似乎是合适的,因为我还没有使用 Google Oauth 登录,但这就是第二步所说的(不是登录)
- 然后使用此命令与 Facebook 提供商上的当前用户链接
auth.currentUser.link(credential)
我的理解是 currentUser 需要链接到我现有的提供商(Facebook)。似乎谷歌的凭证变量从未被计算过。任何有功能代码示例的人都会很有帮助。
如果您想手动将 google 和电子邮件/通行证帐户链接到现有的仅限 facebook 的 firebase 用户,您可以执行以下操作:
首先,用户应登录 Facebook。
链接谷歌用户:
var provider = new firebase.auth.GoogleAuthProvider();
auth.currentUser.linkWithPopup(provider);
然后链接电子邮件/通行证帐户:
auth.currentUser.linkWithCredential(firebase.auth.EmailAuthProvider.credential(auth.currentUser.email, 'password'))
所有这些要链接的帐户必须是新帐户且尚未链接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)