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

ASP.NET Core 6 React SPA独立认证模板JWT无效问题求助

问题原因及解决办法

核心原因

模板生成的项目中,JWT认证的签发者(Issuer)验证配置与实际运行的站点URL不匹配。尽管你的应用和API都运行在https://localhost:44412,但默认配置里的Issuer是硬编码的固定值(通常是https://localhost:5001),导致Token的Issuer和API验证的Issuer不一致,触发401错误。

具体修复步骤

1. 修改JWT配置文件

打开项目根目录下的appsettings.json,找到Jwt节点,将Issuer和Audience的值替换为你的实际运行地址https://localhost:44412:

"Jwt": {
  "Key": "YourSecretKeyHere",
  "Issuer": "https://localhost:44412",
  "Audience": "https://localhost:44412"
}

2. 确认Token生成逻辑的一致性

打开负责生成JWT的控制器(通常是Controllers/AccountController.cs),检查生成Token的代码,确保Issuer和Audience读取的是appsettings.json中修改后的值:

var tokenDescriptor = new SecurityTokenDescriptor
{
    // 其他配置保持不变
    Issuer = _configuration["Jwt:Issuer"],
    Audience = _configuration["Jwt:Audience"],
    // 其他配置保持不变
};

3. 清除浏览器缓存

之前登录生成的旧Token(Issuer为默认的https://localhost:5001)可能还存在浏览器本地存储中,需要清除浏览器的LocalStorage或直接清空缓存,重新登录获取新的Token。

模板默认配置的问题说明

模板默认的appsettings.json中JWT的Issuer和Audience是硬编码的https://localhost:5001,微软文档默认假设用户使用默认端口运行项目,因此未提及该修改步骤。当你使用自定义端口(如44412)时,就会出现Issuer不匹配的验证失败。


内容的提问来源于stack exchange,提问作者g.pickardou

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:05:39