[英]Using Microsoft.Graph to get current application permissions
我的 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")
}
提前致谢 !
这是一条漫长的路。
这里我提供一下Microsoft Graph beta版的大致思路(通过HTTP方法):
GET https://graph.microsoft.com/beta/servicePrincipals?$filter=appId eq '{App ID}'
。GET https://graph.microsoft.com/beta/servicePrincipals/{Object ID}/appRoleAssignedTo
。 GET https://graph.microsoft.com/beta/servicePrincipals?$filter=appId eq '00000003-0000-0000-c000-000000000000'
。 请注意,“00000003-0000-0000-c000-000000000000”是一个固定值,代表微软内部Graph App的App ID。 顺便说一句, Get appRoleAssignment目前仅在 beta 版本中可用,但不建议使用 beta 版本 api。
Microsoft Graph 中 /beta 版本下的 API 可能会发生变化。 不支持在生产应用程序中使用这些 API。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.