繁体   English   中英

Firebase 身份验证错误:auth/invalid-credential

[英]Firebase authentication error: auth/invalid-credential

我一直在试验 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"}

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

文档来看

作为我们持续努力确保 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 回调 URL

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM