小编j90*_*749的帖子

图形API - 没有足够的权限来完成操作

使用时我尝试访问Graph Service Client时收到错误:

代码:Authorization_RequestDenied
消息:没有足够的权限来完成操作.

在研究此错误后,最常见的解决方案是设置API的权限.这已经完成,并具有读取基本/完整配置文件的权限.

我删除并重新添加了API.

下面是我的AzureAuthenticationProvider类中的代码,它继承自IAuthenticationProvider:

public class AzureAuthenticationProvider : IAuthenticationProvider
{
    private string _azureDomain = "myDevDom.onmicrosoft.com";

    public async Task AuthenticateRequestAsync(HttpRequestMessage request)
    {
        try
        {
            string clientId = "2b823c67-1b0d-4a10-a9e1-737142516f5q";
            string clientSecret = "xxxxxx";

            AuthenticationContext authContext = new AuthenticationContext("https://login.windows.net/" + _azureDomain + "/oauth2/token");

            ClientCredential credentials = new ClientCredential(clientId, clientSecret);

            AuthenticationResult authResult = await authContext.AcquireTokenAsync("https://graph.microsoft.com/", credentials);

            request.Headers.Add("Authorization", "Bearer " + authResult.AccessToken);
        }
        catch (Exception ex)
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试将客户端密钥更改为无效的ID并且它引发了错误,因此客户端密钥是正确的.我还尝试通过更改访问令牌来验证访问令牌是否有效,这也会返回错误.

上面的代码似乎工作正常.

以下是我尝试访问Azure AD的代码:

public async Task<IGraphServiceUsersCollectionPage> …
Run Code Online (Sandbox Code Playgroud)

c# permissions azure azure-active-directory azure-ad-graph-api

26
推荐指数
4
解决办法
3万
查看次数