我试图将用户添加到应用程序Active Directory中,但收效甚微。我正在将GraphServiceClient与.Net Core一起使用
这里的文档说我需要这些权限
Azure AD Graph Client Beta Docs
应用程序目录.ReadWrite.All
但是我找不到在Azure门户中可以分配此权限的地方。
上面的代码是GraphServiceClient目前处于beta版本,而它还不是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的建议后,您可以看到我已设置权限。但是请注意,它们旁边都是蓝色的刻度线!我已经更改并保存了,可以看到保存按钮被禁用了。我单击了授予权限。这相关吗?