如何将 Google OAuth 同意屏幕配置为不显示复选框?
Posted
技术标签:
【中文标题】如何将 Google OAuth 同意屏幕配置为不显示复选框?【英文标题】:How can I configure Google OAuth consent screen to not show checkboxes? 【发布时间】:2020-07-12 04:56:53 【问题描述】:您好 *** 社区,
我正在尝试配置一个网络应用程序以使用某些 Google 范围。我希望用户要么全部批准,要么全部拒绝。
这正是我在玩 Google OAuth Playground 时遇到的行为:
看,每个范围都有一个不能取消选中的“实心圆圈”。 用户要么允许访问所有列出的范围,要么拒绝访问所有范围。一次完成。
但在我的应用程序中,每个权限都映射到一个可以允许或DENIED的弹出窗口。此外,最后会显示相同的同意屏幕,但用户可以选择/取消选择某些权限。 (复选框)
尽管这听起来可能更细化,但我认为这也有点令人困惑,而且它扩展了我的应用程序中的逻辑,因为我需要仔细检查是否已授予所有范围的权限。我确实需要他们两个来做我需要做的事情,所以,只有一个范围对我没有用,我可能需要重新触发授予权限过程:这实际上是我试图避免的。我的意思是,处理 完全拒绝 的情况是可以的,但我不希望部分范围获得批准。
解决方案是模仿 Google OAuth Playground 的做法。
我已在我的同意屏幕配置中明确添加了范围(现在的数字正在审查中)。但我仍然有这种行为。
为了获得确切的行为,我可能缺少 oAuth url 的哪个配置或参数?
谢谢!
【问题讨论】:
【参考方案1】:事实证明,在添加了我需要的特定范围之后:
https://console.cloud.google.com/apis/credentials/consent/edit?project=YourProjectID
过了一会儿...我开始看到带有实心圆圈而不是可选复选框的同意屏幕!
【讨论】:
嘿,我已经添加了我使用的范围(仅drive.appdata
,它不敏感或不受限制)并验证了我的应用程序。但是,我仍然不断看到权限的复选标记(最初甚至未选中复选标记)。你知道为什么会这样吗?
@Max 同样的事情发生在我身上。你找到解决办法了吗?
@jmart 查看***.com/questions/64573910/…
我没有在登录时请求权限,而是在正常登录后使用GoogleSignIn.requestPermissions()
请求权限。您还需要在使用之前检查您的应用是否具有所需的权限,您可以使用GoogleSignIn.hasPermissions()
@cSn 迟到的评论,但感谢您的解决方案:在 OAuth 同意屏幕中,我添加了“./auth/drive”,但我忘记添加“email”、“profile”和“openid”,因为我认为它们是基本权限。添加后,复选框不再出现。以上是关于如何将 Google OAuth 同意屏幕配置为不显示复选框?的主要内容,如果未能解决你的问题,请参考以下文章
由于同意屏幕,无法创建 Google oAuth 客户端 ID
Android 中的空白 Google 登录 OAuth 同意屏幕
使用 Google Fit 的 Android 应用程序中的 OAuth 同意屏幕为空白