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

调用Superset的/api/v1/security/csrf_token/时缺失Authorization Header问题

解决Superset生产环境CSRF令牌端点返回「Missing Authorization Header」的问题

问题根源

生产环境下Superset的安全策略默认比开发环境严格,/api/v1/security/csrf_token/端点被设置为需要认证才能访问,而本地开发环境为了调试便利,默认放开了这个限制,导致前后端环境行为不一致。

两种可行解决办法

办法1:修改配置让CSRF端点允许匿名访问

编辑Superset的核心配置文件superset_config.py,把CSRF令牌端点加入公开路由白名单:

PUBLIC_ROUTES = [
    "/api/v1/security/csrf_token/",
    # 保留原有公开路由,比如登录接口
    "/api/v1/security/login/",
]

保存配置后重启Superset服务,此时生产环境请求该端点就不需要带Authorization头了。

办法2:先完成认证再请求CSRF令牌

如果不想改动默认安全配置,得先拿到有效认证凭据:

  • 会话模式:先调用/api/v1/security/login/接口,传入用户名密码获取会话Cookie,后续请求CSRF端点时带上这个Cookie即可。
  • JWT模式:如果启用了JWT认证,先通过对应接口获取Token,请求CSRF端点时在请求头里添加Authorization: Bearer <你的JWT Token>。

注意事项

修改PUBLIC_ROUTES时只放开必要端点,避免扩大未认证访问范围带来安全风险;如果用认证后请求的方式,要确保前端逻辑先完成认证流程,再去获取CSRF令牌用于后续请求。

内容的提问来源于stack exchange,提问作者Muhamad Akbar Fadilah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 07:42:33