azure-active-directory - 如何以编程方式同意和调用图形 api“memberOf”端点
问题描述
我的要求是使用 Microsoft.Identity.Client 调用“https://graph.microsoft.com/v1.0/me/memberOf”并按照以下方式进行操作,但无法获取适当的响应。
GetToken.cs
var result = await client.AcquireTokenOnBehalfOf(new string[] { "https://graph.microsoft.com/.default" }, userAssertion)
.WithSendX5C(true)
.ExecuteAsync().ConfigureAwait(false);
return result.AccessToken;
问题:对于上面的图形 api 调用工作,我同意,因为它要求但如何使用 Microsoft.Identity.Client 同意?
解决方案
要以编程方式授予同意,您可以使用 Microsoft Graph API(例如,使用Microsoft Graph SDK)。
当您同意应用程序访问您的数据时,可能会发生三件事:
- 确保客户端应用程序存在服务主体(“客户端”是请求权限的应用程序)。如果不存在,则创建:创建 servicePrincipal
- 如果客户端需要委派权限,则授予它们。可以代表所有用户或代表特定用户授予委派权限:创建委派权限授予。
- 如果客户端需要仅限应用程序的权限(也称为“应用程序角色”),则会授予它们。应用程序权限(应用程序角色)通过应用程序角色分配授予:将 appRoleAssignment 授予服务主体
警告:授予同意是一项非常特权的操作。对于能够执行上述步骤的应用程序,该应用程序本身将具有高度特权。
推荐阅读
- ruby-on-rails - 页面刷新后如何一次保持多个复选框的真实值
- encoding - 如何在 Octave 中检测文件编码?
- javascript - “Jwplayer 不加载 ts 文件只加载 m3u8 文件”
- php - 我在使用手机登录 WordPress 仪表板时遇到问题
- angular - 角度不同的数据源到单个材料表
- cocoa - 如何在短语中本地化国家名称?
- ruby-on-rails - 如何在 Ruby on rails 中获取验证错误消息?
- android - SeekBar 不动卡住
- swift - 如何在 userdefault 中存储和检索数据?(例如:结构数组)
- javascript - 如何提高在 webgl 中绘制的多个图像的性能?