当我强迫用户第二次重新授权我的应用程序时,使用approval_prompt=force
,如何让Google向用户显示我的应用程序请求的整个权限列表?
细节:
我有一个Web应用程序,它要求一组Google API权限,包括access_type=offline
.我第一次批准它时,会显示正确的同意页面,列出所有权限,如下所示:
之后,我将用户发回给Google授权,使用相同的参数.第二次,它只显示"有离线访问":
为什么不向用户显示所有权限?有没有办法强制它第二次询问用户所有权限?为什么现在第一次显示"有脱机访问权限"?
我们的用户发现我们的应用程序没有要求任何实际权限令人困惑,所以我宁愿再次显示第一个批准屏幕.
我正在进行的请求的完整参数如下.网址:
https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&client_id=1039955146864.apps.googleusercontent.com&redirect_uri=http://localhost:8081/sync/google/callback&response_type=code&scope=openid%20email%20https://www.googleapis.com/auth/admin.directory.group.readonly%20https://www.googleapis.com/auth/admin.directory.group.member.readonly%20https://www.googleapis.com/auth/admin.directory.user.readonly&state=480704597031619284232891277399900450622
Run Code Online (Sandbox Code Playgroud)
参数分解:
access_type:offline
approval_prompt:force
client_id:1039955146864.apps.googleusercontent.com
redirect_uri:http://localhost:8081/sync/google/callback
response_type:code
scope:openid email https://www.googleapis.com/auth/admin.directory.group.readonly https://www.googleapis.com/auth/admin.directory.group.member.readonly https://www.googleapis.com/auth/admin.directory.user.readonly
state:480704597031619284232891277399900450622
Run Code Online (Sandbox Code Playgroud)