Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase身份验证错误:身份验证/凭据无效_Javascript_Firebase_Authentication_Firebase Authentication - Fatal编程技术网

Javascript Firebase身份验证错误:身份验证/凭据无效

Javascript Firebase身份验证错误:身份验证/凭据无效,javascript,firebase,authentication,firebase-authentication,Javascript,Firebase,Authentication,Firebase Authentication,我已经试用firebase提供的身份验证服务两周多了。直到昨天,一切都很正常。我不可能使用facebook认证提供商twitter让用户连接到我的web应用 我尝试过注销和登录,我删除了我的facebook和twitter应用,甚至用其他帐户创建了其他应用,但问题依然存在 当我试图使用他们在github上提供的代码时,同样的问题也发生了,而github以前是可以工作的 奇怪的是,当我使用谷歌提供商或使用电子邮件和密码登录方法时,它工作正常 PS:我确保在控制台中启用了提供程序 const sig

我已经试用firebase提供的身份验证服务两周多了。直到昨天,一切都很正常。我不可能使用facebook认证提供商twitter让用户连接到我的web应用

我尝试过注销和登录,我删除了我的facebook和twitter应用,甚至用其他帐户创建了其他应用,但问题依然存在

当我试图使用他们在github上提供的代码时,同样的问题也发生了,而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"}

{code:“auth/invalid credential”,message:“获取请求令牌时出错:403对于Twitter登录,错误代码403表示禁止客户端访问URL。它会出现这样的错误,因为您必须将回调URL(您的站点)列入白名单

作为我们确保Twitter开发者平台安全的持续努力的一部分,任何使用Twitter登录的开发者都必须在Twitter应用设置的白名单中明确声明他们的回调URL,当登录到你在developer.Twitter.com上的推特帐户时,可以在应用仪表板中访问该白名单如果oauth/request\u令牌端点使用的
callback\u url
参数未被列入白名单,您将收到一个错误

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

  • 您希望用作回调URL
    • 将此添加到Twitter应用程序仪表板:
    • 在对oauth/request\u令牌的调用中使用此标记:
有关更多详细信息,请参阅本社区文章:-

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

这非常有效!谢谢,我发现了这一点t我在Callback URL字段中有一个输入错误。尽管如此,我在facebook登录时仍然存在相同的问题(我重新添加了Callback URL,但仍然得到相同的错误)你是否尝试从其他帐户登录FB?!如果不尝试使用3个不同的帐户进行测试,我仍然有相同的问题。我发现,这是一个愚蠢的错误,我从facebook应用程序复制应用程序机密而不显示它(我以为它以前工作过)。