如何控制Google OAuth授权页scopes(权限范围)的预勾选状态?
实现方案说明
1. 权限设为必选(用户不可取消勾选)
这是最推荐的解决方案,可完全避免用户漏选权限的问题:
- 仅需调整你的授权请求代码参数即可,无需修改Google Cloud控制台配置:发起OAuth 2.0授权请求时,将AdWords API对应的所有必需scope全部放在基础的
scope参数中声明,不要放到可选scope参数(如Google Identity Services的optional_scopes字段)内。 - 这种方式声明的scope会被Google OAuth判定为应用运行必需权限,同意页对应勾选框会被锁定为勾选状态,用户无法取消,必须同意所有必填scope才能完成授权流程。
注意:你已经获得对应scope的使用权限(你提供的权限证明已满足该要求),只要应用的OAuth同意屏已完成正式发布验证即可正常生效,测试状态下的应用可能出现受限scope被强制转为可选的情况。
2. 权限默认预勾选(用户可手动取消)
如果你的业务逻辑允许用户自主取消AdWords权限,仅需要降低用户漏选概率:
- 同样通过调整授权请求参数实现:将需要预勾选的AdWords scope放入基础
scope参数,其他非核心权限放入optional_scopes参数,scope内的所有权限会在首次加载同意页时默认处于勾选状态,用户可手动取消。 - 如果你使用Google Identity Services (GIS) SDK,需要额外在授权配置中添加
prompt: 'consent'参数,确保首次授权时预勾选逻辑生效。
内容的提问来源于stack exchange,提问作者NenadP
相关产品推荐
相关产品推荐

