gpt4 book ai didi

javascript - Firebase v3.1 Web SDK - Github oAuth 不起作用

转载 作者:行者123 更新时间:2023-12-02 14:24:50 25 4
gpt4 key购买 nike

除非必要,否则我不会发布一堆代码。它大部分是直接从 Firebase.google.com 粘贴的。我让每种身份验证方法都工作正常,但 Github oAuth 却搞砸了。所以过了一段时间我决定从 Firebase v3.0 升级到 3.1。没有修复。

重定向页面确实弹出,但我无法使用我的常规 Github 凭据 - 用于创建开发人员应用程序的 Github 帐户(即使我在其他 Web 选项卡中注销了 Github。我的 authAction() 捕获说:

An account already exists with the same email address but different sign-in credentials. Sign in using a provider associated with this email address.

因此,我创建了第二个虚拟 Github 帐户,现在可以使用它登录。然而,登录后,user.emailuser.displayName回来null .

另一个奇怪的事情:当注销每个应用程序时,我通过 Github oAuth 登录我的 Firebase 应用程序,然后打开一个新选项卡并导航到 Github,我已经登录了!据推测,我的 token 以某种方式在网站之间共享? Google、Facebook、Twitter、Anon 和 Email/Pwd 都工作正常。

有人也有这个 Github oAuth 问题还是只有我一个人有这个问题?...

最佳答案

当您收到错误时:已存在具有相同电子邮件地址但登录凭据不同的帐户。使用与此电子邮件地址关联的提供商登录。这意味着您已经使用同一电子邮件登录不同的提供商。您可以登录到同一提供商,然后将 github 帐户链接到该当前用户。您可以调用 firebase.auth(().currentUser.link(githubCred)firebase.auth(().currentUser.linkWithPopup/Redirect(githubProvider)

对于 Github 不提供您的电子邮件和姓名的情况,您可以将您的 github 帐户设置设置为不泄露您的电子邮件和信息。通常,如果您使用 signInWithPopup/signInWithRedirect 但目前不适用于 Firebase,则必须请求 user:email oauth 范围。该团队正在努力修复。

关于你的第三个问题,我不确定我的理解是否正确。当您使用 Github 或任何其他提供商登录 Firebase 时,您需要先登录该提供商,然后才能同意该应用的权限。如果您导航到该提供商的网站,则登录是正常的。如果您尝试在其他应用程序上使用 github 登录 Firebase,您仍然会登录到 github,但系统会要求您同意该应用程序的新功能权限。

关于javascript - Firebase v3.1 Web SDK - Github oAuth 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38365535/

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