firebase 从GCP Identity Platform获取“未找到API密钥,请传递有效的API密钥”,但密钥绝对正确

quhf5bfb  于 2023-02-09  发布在  其他
关注(0)|答案(2)|浏览(221)

我尝试按照教程在这里: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

ar5n3qh5

ar5n3qh51#

这似乎是GCP/身份平台中的一个错误。
如果你在Identity Platform中启动,它会为你生成一个API密钥。如果你查看Firebase控制台,API密钥会在那里匹配。...但它不会工作(无论它看起来是什么)。
如果您随后创建应用程序(似乎是任何应用程序),它将重新生成projectAPI密钥(这似乎不太对)。您不需要任何应用程序配置信息--项目只需要apiKeyauthDomain,但现在需要API密钥(在项目级别,而不是应用程序级别)重新生成(GCP Identity Platform现在将反映此新密钥),并且新生成的API密钥将正常工作。
应用程序可以只是一个HTML文件坐在您的本地计算机上,它仍然会工作-但只有当您设置一些应用程序在Firebase(即使您从来没有使用它的任何东西)。

g6ll5ycj

g6ll5ycj2#

配置中缺少projectIdappId似乎是个问题。在我的多个Firebase身份验证实现中,我总是包括这些。
Firebase Project Settings中,向下滚动并复制整个配置,以确保:
https://console.firebase.google.com/u/0/project/<YOUR_PROJECT_NAME_HERE>/设置/常规

**编辑(更多信息)

访问https://console.firebase.google.com并选择您的项目后,单击左上角的小gear iconProject Settings〉(一直向下滚动到他们给予您的代码示例)
你会看到这样的画面:

在此屏幕截图(特意截取)中,您将看到:
恒定的火垒恒定....
这就是您需要使用的整个配置-我已经设置了几十个带有所有服务的Firebase Firestore项目,我从来没有遗漏过projectIdappId
另一件需要确认的事情是你的Firebase Authentication已经启用了Email / Password。转到Build > Authentication > Sign-in method。然后确认你已经添加并启用了Email/Password选项。

相关问题