应用程序需要权限才能访问组织中只有管理员才能授予的资源

时间:2018-01-08 14:23:11

标签: azure-active-directory microsoft-graph

我们使用Microsoft Graph和范围openid,email,profile和read.readBasic.all为公共社区创建了一个融合应用程序(AD和实时用户可以登录)。

对于实时用户来说,每件事都可以正常工作,但有些AD用户无法登录。当他们尝试登录时,他们会收到消息

  

“应用程序需要权限才能访问您组织中的资源   只有管​​理员可以授予。请要求管理员授予权限   这个应用程序才可以使用它。“

根据Microsoft document,我们已准备好管理员同意网址

https://login.microsoftonline.com/<TenantID>/oauth2/authorize?client_id=<AppID>&response_type=code&redirect_uri=<RedirectURI>&prompt=admin_consent

管理员同意后,用户也无法登录该应用。请帮助我们这里缺少的东西。

1 个答案:

答案 0 :(得分:3)

您的URL适用于v1端点,而不是v2端点(也称为融合端点)。

它看起来应该是这样(换行符为换行符):

https://login.microsoftonline.com/common/adminconsent?
client_id=[APPLICATION ID]&redirect_uri=[REDIRECT URI]

请注意,它是/adminconsent而不是/authorize,并且没有prompt查询参数。另请注意,您需要确保您的注册包含您希望获得同意的范围。

我写了一篇文章,引导您完成整个过程,该过程应该对此有所帮助:v2 Endpoint and Admin Consent