【发布时间】:2018-12-06 10:41:49
【问题描述】:
我正在尝试将用户添加到应用程序 Active Directory,但收效甚微。我正在将 GraphServiceClient 与.Net Core 一起使用
这里的文档说我需要这些权限
Azure AD Graph Client Beta Docs
应用程序目录.ReadWrite.All
但我在 Azure 门户中找不到可以分配此权限的位置。
代码如上,GraphServiceClient 目前处于测试阶段,这还不是 API 的一部分,所以我手动调用请求。
以下是我的身份验证代码,我正在使用针对 AD 中的应用程序设置的应用程序客户端密码。我可以很好地读取目录数据。
public async Task AuthenticateRequestAsync(HttpRequestMessage request)
{
try
{
if (null == _configuration)
{
throw new InvalidOperationException("Azure AD Configuration is not set");
}
var authContext = new AuthenticationContext(
$"{_configuration.Instance}/{_configuration.Domain}", false);
var credentials = new ClientCredential(_configuration.ClientId, _configuration.ClientSecret);
var authResult =
await authContext.AcquireTokenAsync("https://graph.microsoft.com/", credentials);
request.Headers.Add("Authorization", "Bearer " + authResult.AccessToken);
}
catch (Exception ex)
{
_logger.Error("Authentication Provider, unable to get token", ex);
}
}
更新 - 在查看 Rohit 的建议后,您可以看到我已设置权限。但请注意,它们都是蓝色的,旁边有刻度!我已更改并保存,您可以看到保存按钮已禁用。我点击了授予权限。这相关吗?
【问题讨论】:
标签: .net-core azure-active-directory microsoft-graph-api