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

使用AddMicrosoftIdentityWebApi时是否需要配置JwtBearerOptions?

解答:是否需要额外配置JwtBearerOptions验证令牌

不需要额外手动配置JwtBearerOptions来完成基础的令牌验证工作,原因如下:

  • AddMicrosoftIdentityWebApi扩展方法已经封装了针对Microsoft Entra ID的全套令牌验证逻辑:
    • 自动从你配置的AzureAd节点加载租户ID、实例地址等参数,对接Entra ID的密钥发现端点获取验证所需公钥
    • 自动校验令牌的签名合法性、有效期、受众(Audience)、发行方(Issuer)等核心属性
    • 内置了应用角色(App Roles)的解析逻辑,你在控制器上添加的[Authorize(Roles = "MyApp.Read.All")]特性可以直接生效——只要守护程序应用请求到的令牌包含对应的角色声明

只有当你有特殊自定义需求时,才需要通过重载版本配置JwtBearerOptions,比如:

  • 需要允许多个合法受众
  • 自定义角色声明的键名(默认是roles)
  • 添加额外的令牌声明校验规则
  • 修改令牌过期时间的容错窗口

示例代码(自定义配置场景):

builder.Services
    .AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAd"), options =>
    {
        // 示例:允许多个受众
        options.TokenValidationParameters.ValidAudiences = new[] { "api://your-api-client-id", "secondary-audience" };
        // 示例:自定义角色声明类型
        options.TokenValidationParameters.RoleClaimType = "custom_application_roles";
    });

内容的提问来源于stack exchange,提问作者Monsieur le Crucudil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 09:32:40