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

ASP.NET Core 6 Web API与Firebase Auth、React前端Bearer认证失败问题

ASP.NET Core 6 Web API + Firebase Auth React前端401错误排查解决

问题核心原因

前端请求中使用了错误的HTTP头字段名Authentication,正确的JWT认证头应该是Authorization。ASP.NET Core的JWT Bearer认证中间件只会读取Authorization头中的Bearer Token,因此前端传错头导致后端无法识别Token,返回401错误。

修复步骤

修改前端fetch请求的headers部分,将错误的Authentication字段替换为Authorization:

const testFetch = async () => {
    getIdToken(auth.currentUser!).then(async (token) => {
      const res = await fetch('https://localhost:51437/test/private', {
        method: 'GET',
        headers: {
          Authorization: `Bearer ${token}`, // 修正为正确的头字段名
          Accept: 'application/json',
          'Content-Type': 'application/json',
        },
      });
      const result = await res.json();
      console.log(result);
    });
};

逻辑验证说明

  1. Postman请求正常的原因是Postman中正确使用了Authorization头,与前端的错误头形成明确差异
  2. 此前关闭ValidateIssuer/ValidateAudience/ValidateLifetime无效,是因为后端根本没接收到正确的Token,验证参数调整无法解决头字段错误的问题
  3. 非授权端点正常说明CORS和基础请求通路无问题,故障仅局限于认证头的传递环节

额外排查建议

  • 可通过浏览器开发者工具的Network标签,确认请求中Authorization字段是否正确发送
  • 后端已开启IncludeErrorDetails = true,后续若遇其他Token解析问题,可通过日志进一步定位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 08:15:49