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

Token认证返回403问题求助(Axios + Django Rest Framework)

解决React + Axios调用DRF API返回403的问题

我来帮你排查这个403错误的核心原因,看下来问题出在DRF的认证配置上:

关键问题:缺少Token认证类

你在请求头里使用了Token认证方式,但你的Django配置中没有启用TokenAuthentication类,导致DRF无法识别你发送的Token,因此返回403权限错误。

修复步骤:修改settings.py

找到REST_FRAMEWORK配置块,在DEFAULT_AUTHENTICATION_CLASSES中添加rest_framework.authentication.TokenAuthentication:

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.TokenAuthentication',  # 新增这一行
    ],
}

额外验证点

  1. 确认Token有效性:
    检查你使用的Token是否属于一个活跃的用户,可以在Django Admin的Token表中查看该Token对应的用户状态是否为is_active=True。

  2. CORS中间件配置:
    确保corsheaders的中间件顺序正确,在MIDDLEWARE中应该先加载CorsMiddleware,再加载CommonMiddleware:

    MIDDLEWARE = [
        # ...其他中间件
        'corsheaders.middleware.CorsMiddleware',
        'django.middleware.common.CommonMiddleware',
        # ...其他中间件
    ]
    
  3. 请求头格式确认:
    你当前的请求头格式Authorization: Token 27dbb4dd8299792c8c52022f829da4ecec22f437是正确的,DRF可以识别这种格式,这部分不需要修改。

完成配置修改后,重启Django服务器,再发送请求应该就能正常访问了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:06:47