如何配置 Google OAuth 同意屏幕以不显示复选框?

Chr*_*dam 7 google-api scopes oauth2-playground google-oauth

您好Stackoverflow社区,

我正在尝试配置网络应用程序以利用某些Google 范围。我希望用户要么批准所有这些,要么拒绝所有这些。

这正是我在使用Google OAuth Playground时得到的行为:

谷歌 OAuth 游乐场

看,我在每个范围内都有一个无法取消选中的“实心圆”。用户要么允许访问所有列出的范围,要么拒绝访问所有范围。一次全部。

但在我的应用程序中,每个权限都映射到一个可以ALLOWEDDENIED的弹出窗口。另外,最后会显示相同的同意屏幕,但用户可以选择/取消选择某些权限。(复选框)

范围1 范围2 同意屏幕

尽管这听起来可能更细致,但我认为这也有点令人困惑,而且它扩展了我的应用程序中的逻辑,因为我需要仔细检查是否已授予所有范围的权限。我确实需要它们来完成我需要做的事情,所以,只有一个范围对我来说没有用,我可能需要重新触发授予权限过程:这实际上是我试图避免的。我的意思是,处理完全被拒绝的情况是可以的,但部分范围获得批准并不是我想要的。

解决方案是模仿Google OAuth Playground的做法。

我已在我的同意屏幕配置中明确添加了范围(现在正在审核中)。但我仍然明白这种行为。

为了获得确切的行为,我可能会缺少 oAuth url 的哪些配置或参数?

谢谢!

Chr*_*dam 2

Turns out that, after adding the specific scopes I needed in:

https://console.cloud.google.com/apis/credentials/consent/edit?project={YourProjectID}

在此输入图像描述

After a while... I started to see the consent screen with solid circles instead of optional checkboxes!

  • @cSn 迟到的评论,但谢谢您的解决方案:在 OAuth 同意屏幕中,我添加了“./auth/drive”,但我忘记添加“email”、“profile”和“openid”,因为我认为它们是基本权限。添加它们后,复选框不再出现。 (2认同)