请求额外的范围来修复incorect授权代码

时间:2017-02-13 13:01:26

标签: google-api google-oauth gmail-api google-oauth2

此问题与Google OAuth2中的授权代码和include_granted_scopes有关,可逐步更改范围。

在我的网络应用程序中,我要求提供基本的个人资料信息作为范围:

  

https://www.googleapis.com/auth/userinfo.email

当Gmail用户与我们联系时。在用户执行某些操作后,我通过在授权网址中设置"include_granted_scopes=true"来请求其他范围。

此时,我的授权网址如下所示:

https://accounts.google.com/o/oauth2/auth?client_id=3490600xyz00-xyz....apps.googleusercontent.com&login_hint=hello@example.com&redirect_uri=https://www.example.com/google-signup-callback&response_type=code&scope=https://mail.google.com https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/gmail.compose https://www.googleapis.com/auth/gmail.modify&access_type=offline&approval_prompt=force&state=da503933-8979-409b-988a-24a9542ad98a&redirect=label&include_granted_scopes=true

现在在oauth回调中,我得到了相同的“Authorization code”,这是我之前使用基本配置文件范围进行oauth时收到的。如果我尝试通过调用“https://accounts.google.com/o/oauth2/token”并将“grant_type”设置为“authorization_code”来获取授权令牌,则会返回

  

“代码已被视为”。

现在如何获得具有新范围的新“Auth令牌”和“刷新令牌”?即使我使用旧的刷新令牌刷新旧的身份验证令牌也没有新的范围。

1 个答案:

答案 0 :(得分:1)

提示=同意用于强制用户重新进行身份验证。