Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用客户端id、客户端机密和图形API获取访问令牌以从Azure拉取用户组所需的作用域_Azure_Scope_Azure Ad Graph Api - Fatal编程技术网

使用客户端id、客户端机密和图形API获取访问令牌以从Azure拉取用户组所需的作用域

使用客户端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

我正在尝试使用我的客户端密码和客户端id获取azure租户中的组。问题是我不知道在获取访问令牌以使用graph api时要传递什么范围。我曾经获得访问令牌,但这不包括拉组权限。什么是合适的使用范围

权限

调用此API需要以下权限之一。要了解更多信息,包括如何选择权限,请参阅权限


权限类型权限(从最低权限到最高权限)

委托(工作或学校账户)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);
        }