gpt4 book ai didi

azure - Authorization_RequestDenied。权限不足,无法完成操作。图形API

转载 作者:行者123 更新时间:2023-12-02 06:05:01 25 4
gpt4 key购买 nike

我必须在通过 Api 在 Web 应用程序上完成注册后更新用户的自定义属性。Api 具有使用 GraphServiceClient 构建请求并更新的逻辑。当我运行代码时抛出异常

Code: Authorization_RequestDenied
Message: Insufficient privileges to complete the operation.
Inner error:
AdditionalData:
date: 2021-07-27T17:16:26
request-id: xxxx-xx-xxxx-xx
client-request-id: xxxx-xx-xxxx-xx
ClientRequestId: xxxx-xx-xxxx-xx

这就是代码看起来非常标准的方式

 var additionalData = new Dictionary<string, object>()
{
{ helper.GetName(configuration.GetValue<string>("ClientId"),"Id"), Id }
};

await graphClient
.Users[userId]
.Request()
.UpdateAsync(new User { AdditionalData = additionalData });

Startup 类中的 Graph Api 配置如下所示

public static IServiceCollection AddGraphComponent(this IServiceCollection services, IConfiguration configuration)
{
IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(configuration.GetValue<string>("ClientId"))
.WithTenantId(configuration.GetValue<string>("TenantId"))
.WithClientSecret(configuration.GetValue<string>("ClientSecret"))
.Build();

ClientCredentialProvider authenticationProvider = new ClientCredentialProvider(confidentialClientApplication);

services.AddSingleton<GraphServiceClient>(sp =>
{
return new GraphServiceClient(authenticationProvider);
});

return services;
}

基于提供的文档here正如开头所述,客户端凭据提供程序似乎是适合我的场景的正确提供程序。 Web应用程序 -> X-Api -> AzureB2C

这就是 X-Api | API 权限如下所示。

enter image description here

这是 b2c 扩展应用程序 | API 权限看起来像 enter image description here

总的来说,似乎是权限问题,不确定需要添加哪些权限。

最佳答案

您收到此错误的原因是因为您在应用程序的上下文中(而不是作为用户)执行 Graph API 操作,换句话说,权限是应用程序权限,而不是委派权限并且管理员未同意执行这些操作。管理员需要就应用程序权限给予租户范围的同意。一旦管理员同意,错误就不会出现。

要了解有关委派和应用程序权限的更多信息,请参阅:https://learn.microsoft.com/en-us/graph/auth/auth-concepts#delegated-and-application-permissions .

关于azure - Authorization_RequestDenied。权限不足,无法完成操作。图形API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68552206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com