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

Ven*_*ruu 4 azure-active-directory microsoft-graph

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

一切对于实时用户都适用,但是某些AD用户无法登录。当他们尝试登录时,他们收到的消息为

“应用程序需要访问组织中只有管理员才能授予的资源的权限。请在使用之前请管理员授予对此应用程序的权限。”

根据Microsoft 文档,我们已将管理员同意网址准备为

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

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

Mar*_*eur 5

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

看起来应该像这样(为了可读性而换行):

https://login.microsoftonline.com/common/adminconsent?
client_id=[APPLICATION ID]&redirect_uri=[REDIRECT URI]
Run Code Online (Sandbox Code Playgroud)

请注意,不是,/adminconsent而是/authorize没有prompt查询参数。另外请记住,您需要确保您的注册包括您要同意的范围。

我写了一篇文章,指导您完成整个过程,该过程在这里应该会有所帮助:v2端点和管理员同意