为什么我的同意管理员权限请求要求所有权限?

时间:2021-01-26 20:32:13

标签: azure microsoft-graph-api

2 个答案:

答案 0 :(得分:0)

如果您登录 Azure 门户并找到您的应用程序

https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

点击 API 权限标签

enter image description here

您将看到 Microsoft Graph API 的所有配置权限。

通过删除所有冗余权限确保只有 Calendars.ReadWrite

答案 1 :(得分:0)

这与您的权限类型有关。如果您的权限是委托权限,您可以在管理员同意页面上动态同意特定的委托权限:scope=https://graph.microsoft.com/calendars.readwrite

如果您的权限是应用程序权限,则您只能请求静态 /.default 范围,这将需要管理员同意租户中的所有权限:scope=https://graph.microsoft.com/.default

document,有详细说明:

<块引用>

此时,Azure AD 需要租户管理员登录 完成请求。要求管理员批准所有 您在 scope 参数中请求的权限。如果你有 使用静态 (/.default) 值,它将像 v1.0 管理员一样工作 同意端点并请求同意中找到的所有范围 所需的权限(用户和应用程序)。为了请求应用程序 权限,您必须使用 /.default 值。如果你不想 管理员在管理员同意屏幕中查看给定的权限 使用 /.default 时,最佳做法是不要将 所需权限部分中的权限。相反,您可以使用 动态同意在同意中添加您想要的权限 运行时屏幕,而不是使用 /.default