获取的访问令牌不会更新范围值

The access token acquired won't update the scopes value

我正在使用这个网站 https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx to do Authorization Code Grant Flow with the goal of reading my office 365 calendars using this type of flow. The problem is that when I request for an oauth token the response is not updating the "scope" variable. I'm requesting the oauth token using this POST call "https://login.microsoftonline.com/common/oauth2/token" 并在正文中传递我的 grant_type、redirect_uri、client_id、client_secret、代码、资源. 响应是 200OK 但对于范围它只读取 -> "'scope': 'Contacts.Read'" 当它也应该有 Calendars.Read 的时候。在 manage.windowsazure.com 中有我传入的 client_id 已检查读取的日历和已检查的联系人。当我第一次通过在浏览器中输入此代码获得授权码时 "login.microsoftonline.com/common/oauth2/authorize" 我只有 "Contacts Read" 检查。但现在每次我在浏览器中输入它时,它都会跳过我接受我的应用程序的页面以查看我的日历和联系人页面。当我使用其他人的计算机登录并获取授权代码并请求令牌时,它会更新他们的联系人和日历的范围并且工作正常。对我来说,我在 url 中获得了一个新的授权代码,但它跳过了我可以接受我的应用程序以查看我的联系人和日历的页面。我正在每次都是新的授权。我试过清除我的浏览数据,但还是不行。

您需要用户重新登录,以便他们同意新范围。尝试将 prompt=consent 添加到您的登录 URL.

这在执行动态作用域的 v2 app model 中效果更好。