问题描述
我正在尝试使用Microsoft图形API向管理员授予分配的权限的同意。 我执行的步骤如下:
-
创建定义了“ appRoles”数组的应用程序。
-
使用appId创建服务主体。
-
为服务主体授予appRoleAssignment。 我运行了http发布请求:
https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
- 在Azure门户中,我看到它正在创建另一个权限并向其授予同意,而不是授予最初的当前权限,如下图所示。
为什么即使'appRoleId'相同,它也不授予原始权限?我想授予原始权限,有人可以告诉我吗?谢谢。
解决方法
当然,它不会授予原始权限,当您创建应用程序并公开API权限时,此权限和Exchange
中的权限完全是来自不同API的两种不同权限,无论{他们使用了{1}}。
要为您的应用授予appRoleId
应用许可,请按照以下步骤操作。
1。在门户中导航至AD App-> full_access_as_app
-> Manifest
,获取requiredResourceAccess
和resourceAppId
,记下id
为id
。
2。导航至门户网站中的appRoleId
-> Azure Active Directory
->搜索在步骤1中获得的Enterprise applications
,然后您会找到resourceAppId
->单击它-> Office 365 Exchange Online
->得到Overview
,记为Object ID
。
注意:此resourceId
在不同的AAD租户中是不同的。
3。导航至广告应用程序->单击Object ID
,然后获取Managed application in local directory
,记为Object ID
。
4。然后调用您使用的Microsoft Graph-Grant an appRoleAssignment for a service principal,使用之前获得的值。
principalId
我在Graph Explorer中对其进行了测试:
在门户中检查结果,效果很好。