Microsoft Graph Access令牌包含对联系人API的错误权限

时间:2019-07-04 12:54:26

标签: azure api permissions azure-active-directory microsoft-graph

所以基本上我需要访问Office 365用户的联系人。 我使用Microsoft graph API,并且可以通过JSON中的HTTP GET成功获取所有联系人。但是,现在我正尝试使用HTTP POST向https://graph.microsoft.com/v1.0/me/contacts API中写入JSON,但每次都会收到403-权限被拒绝。因此,我去https://jwt.io/并检查了访问令牌,发现我没有写联系人的权限。

我获得了这些权限:

“ scp”:“ Contacts.Read openid个人资料User.Read”

即使我只在Azure门户的“应用程序注册”设置中设置了Contacts.ReadWrite。

Permissions

我尝试更新权限,但这无济于事。

1 个答案:

答案 0 :(得分:0)

如果您更改了权限,则用户需要再次同意。

enter image description here

您可以通过url请求强制用户同意,并将&prompt =同意附加到身份验证请求URL。

https://login.microsoftonline.com/{tenant}/oauth2/authorize?
client_id={your_client_id}
&response_type=code
&response_mode=query
&resource=https://graph.microsoft.com
&state=12345
&prompt=consent

或者您只代表该目录中的所有用户授予同意。向所有用户授予管理员同意意味着使用该应用程序时不会向最终用户显示同意屏幕。

enter image description here