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

Django JWT认证终端cURL正常但浏览器中失效是什么原因?

问题排查及原因汇总

  • 前端请求未携带Authorization请求头
    cURL请求正常是因为你手动添加了Authorization: Bearer <access_token>请求头,React发请求时容易漏配该字段。你可以打开浏览器F12控制台的「网络」标签,查看对应API请求的请求头列表,确认是否存在Authorization字段。如果用axios发请求,要么全局配置axios.defaults.headers.common['Authorization'] = Bearer ${token}``,要么单次请求手动携带该头。

  • 跨域场景下CORS配置错误
    当前后端端口/域名不一致时属于跨域请求,需要两边都做凭证配置:

    1. Django侧需安装django-cors-headers,配置CORS_ALLOW_CREDENTIALS = True,同时显式将前端域名加入CORS_ALLOWED_ORIGINS,不能同时开启CORS_ALLOW_ALL_ORIGINS和允许凭证;
    2. 前端侧请求需开启凭证携带:axios配置withCredentials: true,fetch API配置credentials: 'include'。
  • JWT凭证存储异常
    如果你将token存在localStorage/sessionStorage,打开浏览器「应用」标签检查对应存储位置是否成功写入了登录接口返回的token,排除页面刷新、路由跳转导致token被意外清空的情况。如果用HttpOnly Cookie存储token,要检查Cookie的Domain、Secure、Path属性是否和开发环境匹配:http开发环境不要开启Secure属性,Domain要和前后端域名匹配,否则浏览器不会自动携带Cookie。

  • Django认证类配置优先级错误
    检查Django配置文件中REST_FRAMEWORK的DEFAULT_AUTHENTICATION_CLASSES列表,确认rest_framework_simplejwt.authentication.JWTAuthentication配置优先级高于其他冲突的认证类。

"detail": "Authentication credentials were not provided."

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:39:02