You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取Kiota构建的请求所需的权限范围

关于Kiota生成SDK中获取请求权限范围的说明

Kiota生成的代码里确实包含请求所需的权限范围信息,但并非通过additionalAuthenticationContext参数传递,正确的获取方式如下:

  • Kiota在生成SDK时,会将每个API方法对应的权限范围嵌入到请求定义中,以RequiredScopes属性(静态字段/集合)的形式绑定到具体的请求类或方法上。
  • 在自定义身份验证提供程序的AuthenticateRequestAsync方法中,直接通过requestInformation参数的RequiredScopes属性即可读取当前请求需要的所有权限范围。
  • 示例代码(以C#为例):
public async Task AuthenticateRequestAsync(RequestInformation requestInformation, Dictionary<string, object>? additionalAuthenticationContext = null, CancellationToken cancellationToken = default)
{
    // 获取当前请求要求的权限范围
    var requiredScopes = requestInformation.RequiredScopes;
    // 根据权限范围获取令牌并附加到请求头
    var accessToken = await RetrieveTokenForScopesAsync(requiredScopes, cancellationToken);
    requestInformation.Headers.Add("Authorization", $"Bearer {accessToken}");
}

补充说明:additionalAuthenticationContext的设计用途是传递自定义身份验证上下文数据(如租户ID、特定用户标识等),并非存储API内置的权限范围信息,所以之前的预期存在偏差。

内容的提问来源于stack exchange,提问作者Petr Broz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 10:50:54