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

时间:2016-03-10 14:47:28

标签: oauth-2.0 token office365

我正在使用此网站https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx执行授权代码授权流程,目标是使用此类型的流程阅读我的Office 365日历。问题是,当我请求oauth令牌时,响应不会更新"范围"变量。我正在使用此POST呼叫请求oauth令牌" https://login.microsoftonline.com/common/oauth2/token"并在身体中传递我的grant_type,redirect_uri,client_id,client_secret,代码,资源。响应是200OK但是对于范围它只读取 - > "'范围':' Contacts.Read'"什么时候它也应该有Calendars.Read。在manage.windowsazure.com中,对于具有相同client_id的应用程序,我传入的是已检查读取日历以及已检查的已读取联系人。当我第一次通过在浏览器中输入我的授权代码时,请登录" login.microsoftonline.com/common/oauth2/authorize"我只有"联系人阅读"检查。但是现在每当我在浏览器中输入它时,它会跳过我接受我的应用程序的页面来查看我的日历和联系人页面。当我与其他人的计算机一起登录并获取授权代码并请求令牌时,它会将其范围更新为联系人和日历,并且工作正常。对我而言,我在网址中获取了一个新的Auth代码,但它会跳过我可以接受我的应用查看我的联系人和日历的页面。我每次都会获得新的授权。我尝试清除浏览数据,但它仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

您需要用户再次登录才能同意新范围。尝试将prompt=consent添加到您的登录网址。

这在动态范围的v2 app model中效果更好。