Google OAuth2重新授权在同意页面上缺少权限

 18岁的淡淡淡色彩 发布于 2023-02-11 10:30

当我强迫用户第二次重新授权我的应用程序时,使用approval_prompt=force,如何让Google向用户显示我的应用程序请求的整个权限列表?

细节:

我有一个Web应用程序,它要求一组Google API权限,包括access_type=offline.我第一次批准它时,会显示正确的同意页面,列出所有权限,如下所示:

第一次使用Google OAuth2同意页面

之后,我将用户发回给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

参数分解:

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

nvnagr.. 8

我们推出了增量版本,这是按设计工作的.

http://googleplusplatform.blogspot.com/2013/12/google-sign-in-improvements11.html

这个想法是,如果用户已经授予了应用程序的权限,则无需显示相同的权限并要求用户批准.

如果您正确编写应用程序,则不应出现这种情况.如果您请求脱机代码(刷新令牌)并将其存储在后端,除非您需要获得一些新的范围/权限,否则不应再次要求它.您应该使用以后存储的刷新令牌.如果用户在您的站点上时只需要访问令牌,则可以使用其他流来请求访问令牌,而无需用户看到批准页面.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有