编程语言
首页 > 编程语言> > c# – Microsoft Graph API令牌的范围与Azure门户中设置的范围不同

c# – Microsoft Graph API令牌的范围与Azure门户中设置的范围不同

作者:互联网

通过使用jwt.io我设法确定我的应用程序为Microsoft Graph API获取的令牌只包含Directory.Read.All和User.Read的范围:

enter image description here

这与我在Azure门户中设置的权限不同,后者包含更多范围,例如User.ReadBasic.All:

enter image description here

有没有什么办法解决这一问题?

解决方法:

当您回到应用程序并在用户已登录并同意您的应用程序后添加其他权限时,我会看到这种情况.该用户继续获得“旧”权限,但新用户将获得新设置.

如果我的猜测是正确的,那么您最初可能只使用Directory.Read.All和User.Read注册了应用程序.您使用您的用户帐户登录.然后,您添加了其他权限并再次尝试.听起来不错吗?

问题是Azure的v1端点不会动态更新已经同意的用户的范围.您需要强制为这些用户提供“重新同意”体验.在您的授权网址中添加prompt = consent参数.这应该使用户再次使用更新的权限列表查看同意屏幕.

标签:c,asp-net,azure,office365,microsoft-graph
来源: https://codeday.me/bug/20190608/1197780.html