
[英]React Native Firebase apple auth Error: [auth/invalid-credential] The supplied auth credential is malformed or has expired
[英]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/twitter
和https://sitename.example.com/auth/twitter/callback
- 您想使用https://yourdomain.com?source=twitter作为回调 URL
- 将此添加到 Twitter 应用仪表板: https : //yourdomain.com
- 在您对 oauth/request_token 的调用中使用它: https://yourdomain.com?source=twitter 。
有关更多详细信息,请参阅此社区文章:- Twitter 回调 URL
这值得作为一个答案:在将其复制并粘贴到 Firebase 设置控制台之前,始终单击以显示您的 Facebook 应用程序机密。 这是违反直觉的,但 Facebook 没有正确实现剪贴板,因此隐藏的星号字符将被逐字复制和粘贴。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.