我正在经历以下示例:
https://azure.microsoft.com/resources/samples/active-directory-dotnet-webapp-groupclaims/
要运行该示例,我需要对Microsoft Graph具有Directory.Read.All权限:
为您的应用程序配置权限。就此而言, 设置菜单,选择“所需权限”部分,然后, 点击“添加”,然后选择“ API”,然后在 Microsoft Graph 文本框。然后,单击“选择权限”并选择 Directory.Read.All 。
Directory.Read。所有都需要Azure AD管理员的同意。
我的Azure AD应用程序没有Web用户界面。
要让我们的Azure AD管理员在不花太多时间的情况下提供同意,我有哪些选择?
我们的Azure AD管理员是繁忙且昂贵的资源。需要花费很多时间来预定他的时间,我希望在参与他之前可以排练同意过程。
答案 0 :(得分:5)
您有两种选择:使用Azure门户或构建同意URL。
使用Azure门户
如果该应用程序在您要获得许可的同一Azure AD租户中注册,则可以要求管理员在Azure门户中进行应用程序注册,然后导航到设置> < em>所需权限,然后点击授予权限:
在新的(自2018年11月14日起)应用程序注册(预览)经验中,这是在 API下 权限> 授予...的管理员同意:
如果您自己进入此屏幕,则可以复制URL并与管理员共享,以帮助他快速找到合适的刀片。
构建同意URL
即使您的应用程序未提供网络体验,从技术上讲,您仍然可以构建URL来征求管理员的同意,尽管这种体验并不好。有关如何构造管理员同意URL的详细信息,请参见文档https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#request-the-permissions-from-a-directory-admin。
最简单的形式是:
https://login.microsoftonline.com/common/adminconsent?client_id={client-id}
使用这种方法,一旦管理员同意,他将被重定向到您在应用程序注册中配置的授权回复URL之一(如果使用redirect_uri
参数,则将重定向到特定URL)。如果该网址不存在,则浏览器将显示错误(例如404)。如果没有为您的应用程序注册配置答复URL,Azure AD将显示错误(例如“未配置答复URL”)。您应该警告管理员可能会发生这种情况,但是由于这些错误将在应用同意后 显示,因此可以忽略。