我的C#程序使用Microsoft.Graph Nuget。并且它必须能够确保它具有正确的Microsoft Graph应用程序权限。
我知道如何在AD中添加权限,但是我希望我的程序能够测试它是否具有所需的权限。
我想要实现的示例:
var graphClient = new GraphServiceClient(authenticationProvider);
if(!graphClient.GetPermissions().Contains("AdministrativeUnit.Read.All"))
{
throw new Exception("Missing Permission AdministrativeUnit.Read.All")
}
谢谢!
答案 0 :(得分:0)
很长的路要走
在这里,我通过HTTP方法提供了Microsoft Graph beta版的一般概念:
GET
https://graph.microsoft.com/beta/servicePrincipals?$filter=appId eq
'{App ID}'
获取servicePrincipal的对象ID。GET
https://graph.microsoft.com/beta/servicePrincipals/{Object ID}/appRoleAssignedTo
的对象ID。
GET
https://graph.microsoft.com/beta/servicePrincipals?$filter=appId eq
'00000003-0000-0000-c000-000000000000'
的匹配列表。请注意
“ 00000003-0000-0000-c000-000000000000”是固定值,其中
代表Microsoft内部Graph App的App ID。
顺便说一句,Get appRoleAssignment当前仅在beta版中可用,但不建议使用beta版api。
Microsoft Graph中/ beta版本下的API可能会更改。 不支持在生产应用程序中使用这些API。