Google OAuth2缺少请求的作用域

1zmg4dgp  于 2023-02-11  发布在  Go
关注(0)|答案(1)|浏览(207)

我们的网站上有OAuth2,根据我们的日志,我们将用户重定向到如下URL:

https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=xxxx&prompt=consent&redirect_uri=xxxx/callback&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.readonly+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&state=Y38pUwFTAqbaHsU6oa4q

下一个日志条目是来自Google的重定向回调,它缺少www.googleapis.com/auth/youtube.readonly作用域:

https://ourapp.com/oauth2/callback?state=xxxx&code=xxx&scope=email%20profile%20openid%20https://www.googleapis.com/auth/userinfo.profile%20https://www.googleapis.com/auth/userinfo.email&authuser=0&prompt=consent

这种行为的原因可能是什么?它只发生在一些用户身上,而且非常不一致。我自己无法重现它。
Google批准了该应用程序,并验证了作用域的使用。

k5ifujac

k5ifujac1#

对于请求多个范围(您请求的是身份范围电子邮件、个人资料和YouTube)的应用,您必须能够处理部分同意,用户可以在同意页面上选择不授予对一个或多个非身份范围的访问权限。
https://developers.google.com/identity/protocols/oauth2/policies#unbundled-consent
您可以通过将登录时刻(请求电子邮件、个人资料)信息与请求访问YouTube的时刻分开来鼓励用户授予所需范围的访问权限,这称为增量授权。
您还可以在重定向到OAuth流之前告诉您的用户为什么要请求所需的数据,以便他们做出更明智的选择。

相关问题