在 Flutter 中使用 Google 登录的错误 403 受限客户端

Posted

技术标签:

【中文标题】在 Flutter 中使用 Google 登录的错误 403 受限客户端【英文标题】:Error 403 Restricted Client with Google Signin in Flutter 【发布时间】:2019-10-05 08:41:25 【问题描述】:

我已经设置了大约 6 次 firebase_auth 和 google_signin,但在我最新的应用程序中,我一定忘记了一步。

firebase_auth:^0.11.1 google_sign_in: ^4.0.1+3

当应该出现 Google 登录页面时,我会看到一个显示 403 Error Restricted Client 的网页。再往下说,此应用尚未配置为发出 OAuth 请求。

1) 我已经更新了 GoogleService-Info.plist 文件。

2) 我已将 CFBundleURLTypes 部分添加到 Info.plist 文件中。

3) 我在 Firebase 项目中启用了 Google 身份验证。

我忘记了什么?

【问题讨论】:

【参考方案1】:

在我的情况下,我忘记在 Google Developers Console > API 和服务 > 证书 > OAuth 同意屏幕link 中设置支持电子邮件地址,并且此选项也在您的 Firebase 项目设置中。设置后一切正常。

【讨论】:

这确实解决了我的问题。但是我不确定为什么。我从未在其他项目中完成此步骤,并且我确认我的其他工作项目之一没有在同意屏幕配置中设置电子邮件地址。但我仍然非常感谢这个项目现在正在运行。 我也很困惑。我现在正在做的项目也不是我第一个使用谷歌登录的项目。这让我整天都在搜索并尝试可能的答案。另外,如果你是在android上开发它会给你错误PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null) 谢谢!我现在很沮丧。 403 页上没有任何关于支持电子邮件的建议。现在我终于可以继续我的项目了…… 谷歌搜索 2 天后为我工作。我想知道是否有我们可以编辑的官方文档来帮助这里的人们。 你差点救了我的命!【参考方案2】:

在 Angular 项目中遇到了类似的问题。解决方案确实是在常规选项卡下的 firebase 控制台项目设置中设置支持电子邮件地址。

【讨论】:

【参考方案3】:

我在Google中设置了支持e-mail地址和LOGO

Developers Console > API and service > Credential > Oauth Consent Screen.

设置完成后一切正常。

【讨论】:

【参考方案4】:

这太疯狂了,即使我设置了支持电子邮件,它也不起作用。但是,一旦我上传了徽标图片,它就可以工作了。

转到错误页面中显示的链接,并设置徽标和电子邮件。

【讨论】:

【参考方案5】:

为了解决类似的问题,我必须将我登录时使用的电子邮件作为测试用户添加到谷歌:

    转到https://console.developers.google.com/ 在右上角确保您使用正确的开发者帐户 在左上角“Google Cloud Platform”字样旁边,确保您在正确的项目中 在搜索栏中,查找“oauth 同意屏幕”并点击它 创建了一个同意屏幕,如果您以前没有的话 在“测试用户”下点击“+添加用户” 添加您将用于测试的电子邮件帐户并保存。

它现在应该可以工作了!

【讨论】:

以上是关于在 Flutter 中使用 Google 登录的错误 403 受限客户端的主要内容,如果未能解决你的问题,请参考以下文章

在 Flutter 中使用 Google 登录获取用户的生日/性别

请求的身份验证范围不足 - 在 Flutter 中使用 Firebase 从 Google 登录获取生日时出错

使用firebase和flutter登录google后获取用户详细信息

如何在 Flutter 中使用 rest api 不使用 firebase 以 google 或 facebook 登录

在 iOS 上退出 Google 登录无法在 Flutter Firebase 中运行

在 Flutter 中保存登录 google 时出错 [重复]