我尝试按照教程在这里:https://www.youtube.com/watch?v=ny92vcpOQFs ...但是我收到了一个400错误,并返回消息"找不到API密钥。请传递一个有效的API密钥"。
提供API密钥的代码部分是直接从GCP Identity Platform界面复制的,我已经多次检查过了。
我不知道从这里去哪里,所有的教程只是想当然地认为这是工程。
最小复制如下所示,尽管如果我尝试使用firebase-ui-auth
,我会得到相同的结果:
<!DOCTYPE html>
<html>
<head>
<title>Identity Platform Test</title>
<script src="https://www.gstatic.com/firebasejs/8.0/firebase.js"></script>
<script> //this section copied directly from GCP
var config = {
apiKey: '<Private but 100% correct>',
authDomain: 'my-site.firebaseapp.com',
};
firebase.initializeApp(config);
</script>
<script>
let email = 'private@gmail.com';
let pw = 'private';
firebase
.auth()
.signInWithEmailAndPassword(email, pw)
.then((ac) => {
console.log('It worked.');
})
.catch((error) => {
console.log(error.toString());
});
</script>
</head>
<body>
Test
</body>
</html>
只是一个更新,说我已经按照这两个页面上的指示,确保我有所有的先决条件等,我觉得有一些潜在的假设,但没有沟通:
https://medium.com/@ThatJenPerson/whos-there-implementing-identity-platform-for-web-c210c6839d3b
https://cloud.google.com/identity-platform/docs/web/google
2条答案
按热度按时间ar5n3qh51#
这似乎是GCP/身份平台中的一个错误。
如果你在Identity Platform中启动,它会为你生成一个API密钥。如果你查看Firebase控制台,API密钥会在那里匹配。...但它不会工作(无论它看起来是什么)。
如果您随后创建应用程序(似乎是任何应用程序),它将重新生成projectAPI密钥(这似乎不太对)。您不需要任何应用程序配置信息--项目只需要
apiKey
和authDomain
,但现在需要API密钥(在项目级别,而不是应用程序级别)重新生成(GCP Identity Platform现在将反映此新密钥),并且新生成的API密钥将正常工作。应用程序可以只是一个HTML文件坐在您的本地计算机上,它仍然会工作-但只有当您设置一些应用程序在Firebase(即使您从来没有使用它的任何东西)。
g6ll5ycj2#
配置中缺少
projectId
和appId
似乎是个问题。在我的多个Firebase身份验证实现中,我总是包括这些。在
Firebase Project Settings
中,向下滚动并复制整个配置,以确保:https://console.firebase.google.com/u/0/project/<YOUR_PROJECT_NAME_HERE>/设置/常规
**编辑(更多信息)
访问
https://console.firebase.google.com
并选择您的项目后,单击左上角的小gear icon
〉Project Settings
〉(一直向下滚动到他们给予您的代码示例)你会看到这样的画面:
在此屏幕截图(特意截取)中,您将看到:
恒定的火垒恒定....
这就是您需要使用的整个配置-我已经设置了几十个带有所有服务的Firebase Firestore项目,我从来没有遗漏过
projectId
和appId
。另一件需要确认的事情是你的
Firebase Authentication
已经启用了Email / Password
。转到Build > Authentication > Sign-in method
。然后确认你已经添加并启用了Email/Password
选项。