gpt4 book ai didi

javascript - Firebase 帐户链接错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:50:35 25 4
gpt4 key购买 nike

因此,当您尝试使用其他身份验证方法登录应用程序时,例如用户最初使用 Google,现在使用 FB,并且这两个帐户具有相同的邮件,您会收到该错误

auth/email-already-exists

问题是,如果您有 3 个以上的身份验证方法,则该错误消息不是很具体,并且开发处理这种情况的逻辑可能会有点棘手。您如何解决这个问题?

最佳答案

email-already-exists 被扔到 firebase-admin sdk 中。我不认为它被扔到客户端SDK中。对于客户端 SDK,将现有帐户链接到另一个帐户或使用电子邮件存在于另一个帐户中的新帐户登录时,会引发以下错误:

  • auth/account-exists-with- different-credential
  • auth/credential-already-in-use
  • 身份验证/电子邮件已在使用

在上述所有内容中,错误可能包含附加字段:

  • error.email:您尝试登录时使用的关联凭据的电子邮件
  • error.credential:凭据本身(通常为 OAuth 凭据返回)

您可以查找现有帐户以了解其存在哪些提供商:

firebase.auth().fetchProvidersForEmail(error.email)
.then(function(providers) {
// Providers would be an array of the form:
// ['password', 'google.com']
});

对于 auth/account-exists-with- different-credential,您可以使用该提供商登录,并根据需要将 error.credential 链接到已登录的用户。

firebase.auth().currentUser.link(error.credential);

如果链接时发生错误(auth/credential-already-in-use),您可以直接使用该凭据登录

firebase.auth().signInWithCredential(error.credential):

关于javascript - Firebase 帐户链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43322778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com