使用客户端id、客户端机密和图形API获取访问令牌以从Azure拉取用户组所需的作用域
我正在尝试使用我的客户端密码和客户端id获取azure租户中的组。问题是我不知道在获取访问令牌以使用graph api时要传递什么范围。我曾经获得访问令牌,但这不包括拉组权限。什么是合适的使用范围 权限 调用此API需要以下权限之一。要了解更多信息,包括如何选择权限,请参阅权限使用客户端id、客户端机密和图形API获取访问令牌以从Azure拉取用户组所需的作用域,azure,scope,azure-ad-graph-api,Azure,Scope,Azure Ad Graph Api,我正在尝试使用我的客户端密码和客户端id获取azure租户中的组。问题是我不知道在获取访问令牌以使用graph api时要传递什么范围。我曾经获得访问令牌,但这不包括拉组权限。什么是合适的使用范围 权限 调用此API需要以下权限之一。要了解更多信息,包括如何选择权限,请参阅权限 权限类型权限(从最低权限到最高权限) 委托(工作或学校账户)Group.Read.All、Group.ReadWrite.All 应用程序Group.Read.All,Group.ReadWrite.All 您需要在A
权限类型权限(从最低权限到最高权限) 委托(工作或学校账户)Group.Read.All、Group.ReadWrite.All 应用程序Group.Read.All,Group.ReadWrite.All 您需要在AAD中配置API访问,而不是在作用域中。确保您不要忘记单击“授予权限” 示例假定您需要应用程序权限。委托权限的工作原理类似 用于获取用于身份验证的数据的示例代码:
IConfidentialClientApplication app = new ConfidentialClientApplication(
"clientId",
"https://login.microsoftonline.com/yourtenant.onmicrosoft.com",
"http://localhost (redirecturi)",
new ClientCredential("secret"),
new TokenCache(), new TokenCache());
string[] scopes = new string[] { "https://graph.microsoft.com/.default" };
try
{
AuthenticationResult result = await app.AcquireTokenForClientAsync(scopes);
System.Console.WriteLine(result.AccessToken);
using (var http = new HttpClient())
{
http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", result.AccessToken);
var groupResponse = await http.GetAsync("https://graph.microsoft.com/v1.0/groups");
var groupJson = await groupResponse.Content.ReadAsStringAsync();
System.Console.WriteLine(groupJson);
}
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
}