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

.NET Core API端用户授权及JWT配置技术问询

.NET Core Web应用JWT令牌服务核心配置

我正在开发一个同时包含API和前端网站的.NET Core Web应用,目前用Web服务来生成JWT令牌做身份验证。下面是我整理后的核心服务配置代码(已经移除了无关的配置内容):

public void ConfigureServices(IServiceCollection services) 
{ 
    //... 其他服务配置
    var tokenValidationParameters = new TokenValidationParameters 
    { 
        // 签名密钥必须匹配!
        ValidateIssuerSigningKey = true, 
        IssuerSigningKey = signingKey, 

        // 验证JWT的Issuer(iss)声明
        ValidateIssuer = true, 
        ValidIssuer = "ExampleIssuer", 

        // 其他验证配置(已省略)
        // ValidAudience = "...",
        // ValidateAudience = true,
        // ...
    };
    //... 后续将tokenValidationParameters用于身份验证中间件配置
}

关于这些核心配置项的作用,我整理了一下:

  • ValidateIssuerSigningKey = true:强制验证令牌的签名密钥,这是防止令牌被恶意篡改的核心校验,必须开启。
  • IssuerSigningKey = signingKey:指定我们用来验证令牌签名的密钥,这里的signingKey需要和生成JWT时使用的签名密钥保持一致(如果是对称加密就是同一个密钥,非对称加密则用公钥)。
  • ValidateIssuer = true:开启颁发者验证,确保令牌是由我们预先信任的服务生成的,避免接受来自未知来源的令牌。
  • ValidIssuer = "ExampleIssuer":明确指定信任的颁发者标识,只有令牌中的iss声明值和这个字符串完全匹配,验证才会通过。

内容的提问来源于stack exchange,提问作者Matthias Burger

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:12:43