【问题标题】:Firebase authentication error: auth/invalid-credentialFirebase 身份验证错误:auth/invalid-credential
【发布时间】:2019-11-22 11:00:06
【问题描述】:

我已经尝试使用 firebase 提供的身份验证服务超过 2 周了。一切都很完美,直到昨天,我无法使用 facebook auth 提供程序和 twitter 来让用户连接到我的网络应用程序。

我尝试退出并登录,我删除了我的 facebook 和 twitter 应用程序并创建了其他应用程序,即使使用其他帐户,问题仍然存在。

当我尝试使用他们在他们的 github 上提供的代码时发生了同样的问题。

奇怪的是,当我使用谷歌提供商或使用电子邮件和密码登录方法时,它工作正常。

PS:我确保在控制台中启用了提供程序。

const signInWithFacebookButton = document.getElementById('signInWithFacebook');

const auth = firebase.auth();

const signInWithFacebook = () => {

  const facebookProvider = new firebase.auth.FacebookAuthProvider();

  auth.signInWithPopup(facebookProvider)
  .then(() => {
    console.log('Successfully signed in');
  })
  .catch(error => {
    console.error(error);
  })
}

signInWithFacebookButton.addEventListener('click', signInWithFacebook);

当我尝试使用 facebook 进行身份验证时出现错误消息:

{code: "auth/invalid-credential", message: "The supplied auth credential is malformed or has expired."}

当我尝试使用 twitter 进行身份验证时出现错误消息:

{code: "auth/invalid-credential", message: "Error getting request token: 403 <?xml version="1.…ode-project-fd88e.firebaseapp.com/__/auth/handler"}

【问题讨论】:

    标签: javascript firebase authentication firebase-authentication


    【解决方案1】:

    这是值得回答的:在将其复制并粘贴到 Firebase 设置控制台之前,请始终单击以显示您的 Facebook 应用程序密码。这是违反直觉的,但 Facebook 没有正确实现剪贴板,因此隐藏的星号字符将被逐字复制和粘贴。

    【讨论】:

      【解决方案2】:

      对于 Twitter 登录,错误代码 403 表示客户端访问该 URL 被禁止。它给出了这样的错误,因为您必须将回调 URL(您的站点)列入白名单。

      来自documentation,

      为了确保 Twitter 开发者平台的安全性,任何使用 Twitter 登录的开发者都必须在 Twitter 应用设置的白名单中明确声明其回调 URL在 developer.twitter.com 上登录您的 Twitter 帐户。这意味着如果与 oauth/request_token 端点一起使用的 callback_url 参数未列入白名单,您将收到错误消息。

      因此,在 Twitter 应用设置中,您必须添加您的 URL,例如, https://sitename.example.com/auth/twitterhttps://sitename.example.com/auth/twitter/callback

      有关更多详细信息,请参阅此社区文章:- Twitter callback URLs

      【讨论】:

      • 效果很好!谢谢,我发现我在回调 URL 字段中有错字。不过,我的 facebook 登录仍然存在相同的问题(我重新添加了回调 URL,但仍然出现相同的错误)
      • 您是否尝试从其他帐户登录FB?!如果不尝试一次
      • 尝试了 3 个不同的帐户,但我仍然遇到同样的问题
      • 我想通了,这是一个愚蠢的错误,我从 facebook 应用程序中复制了应用程序密码而没有显示它(我认为它以前可以工作)。
      猜你喜欢
      • 1970-01-01
      • 2020-09-26
      • 2022-07-06
      • 1970-01-01
      • 2020-06-20
      • 2018-01-25
      • 1970-01-01
      • 2017-06-18
      相关资源
      最近更新 更多