Firebase 身份验证无法启用 Google 身份验证方法 - "Error updating Google"

Firebase Authentication unable to enable Google auth method - "Error updating Google"

我正在尝试使用 Google Auth 登录方法启用 Firebase 身份验证,但启用它并单击“保存”shows the error "Error updating Google"。

在 Google Cloud Console activity 日志中,它显示:

Failed:google.internal.firebase.v1.FirebaseInternalProductService.EnableGoogleSignIn

错误消息“未找到 (HTTP 404):操作失败,错误代码 NOT_FOUND”。

然而,当我在一个新的 Google 云项目中尝试这个时,它运行得很好。我尝试删除并重新创建 Firebase Admin SDK,删除并创建一个新应用程序,以及删除 OAuth 凭据。 除了创建一个新项目之外,我似乎找不到解决这个问题的任何方法,但我更愿意保留我现有的项目 ID。

或者,如果有任何方法可以重置我的 GCP 项目或使用相同的 ID 重新制作它,那也很好。

这听起来出乎意料,但可以尝试以下几个步骤:

  1. 检查浏览器的 JavaScript 控制台是否有任何相关消息。

  2. 禁用浏览器中的所有扩展程序,然后重试。

  3. 尝试隐身 window。

  4. 换个浏览器试试。

  5. 换个网络试试。

如果 none 这些工作正常,reach out to Firebase support 寻求个性化的故障排除帮助。

此问题是由于删除了默认情况下由 Firebase 自动生成的 OAuth 客户端造成的。

要解决它,您需要先创建一个新的 OAuth 2 客户端 ID,并为您的 Firebase 应用程序设置必要的重定向 URI(它们应该默认为类似 https://{PROJECT_ID}.web.app/__/auth/handler 的内容)。

然后,调用 this API - 请求应如下所示,使用上面生成的凭据中的客户端 ID 和客户端密码:

PATCH https://identitytoolkit.googleapis.com/admin/v2/projects/{PROJECT_ID}/defaultSupportedIdpConfigs/google.com

{
  "name": "projects/{PROJECT_ID}/defaultSupportedIdpConfigs/google.com",
  "enabled": true,
  "clientId": "{YOUR_CLIENT_ID}",
  "clientSecret": "{YOUR_CLIENT_SECRET}"
}

进行此 API 调用后,应启用 Google 身份验证提供程序。