度过了Hours of Research之后,我无非是一头雾水。围绕天蓝色的功能和天蓝色的逻辑应用以及天蓝色的广告周围的图形和身份验证内容,正在进行着如此多的变更,因此,很难找到合适的资源。
我要实现的目标很简单:
期望步骤2一切正常。不幸的是,没有默认连接器提供任何操作来阅读有关会议请求的更多详细信息,并且没有连接器操作可以拒绝会议请求。因此,显而易见的方法是使用azure函数,然后使用Microsoft Graph API进行处理。
所以我总是失败的地方是: 如何在azure函数中获取正确的Auth令牌以访问Microsoft图形?
由于逻辑应用程序是非交互式执行的,所以我无法进行任何交互式登录,也不想对代码中的任何凭证进行硬编码。
答案 0 :(得分:2)
1。在功能应用中打开MSI
在功能应用程序中,导航至Platform features
,选择Identity
,然后将Status
切换为On
。点击Save
。
2。托管服务身份的权限和角色
授予服务主体权限,以从我的Azure AD获取一些目录数据,例如用户信息。以下Azure AD命令将我的服务主体添加到AD Directory角色Directory Readers
中:
3。获取令牌
在Azure功能中启用MSI后,可以转到https://***.scm.azurewebsites.net
并单击“环境”并获取MSI_SECRET
public static async Task<HttpResponseMessage> GetToken(string resource, string apiversion) {
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("Secret", Environment.GetEnvironmentVariable("MSI_SECRET"));
return await client.GetAsync(String.Format("{0}/?resource={1}&api-version={2}", Environment.GetEnvironmentVariable("MSI_ENDPOINT"), resource, apiversion));
}