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

WordPress请求/wp-json/jwt-auth/v1/token时出现403 未找到授权头错误

jwt_auth_no_auth_header 403错误解决方案

这个错误的核心原因是Web服务器没有将客户端发送的Authorization请求头,完整传递给运行在后端的PHP程序,并非JWT Auth插件本身的功能故障。结合你当前的配置问题,可按以下步骤逐一排查解决:

1. 修正现有.htaccess的配置逻辑

你当前的配置存在三个关键缺陷:

  • 处理Authorization头的规则重复书写了两次,冗余配置容易触发Apache解析冲突
  • 头处理规则的顺序放在WordPress核心路由重写规则之后,执行到带[L]标记的核心路由规则时就会直接跳转到index.php,后面的头处理逻辑根本不会被触发
  • 从网页复制的规则携带了"这类HTML转义字符,会导致Apache无法正确解析SetEnvIf规则

请直接将WordPress根目录下的.htaccess替换为以下适配你站点路径(/demo/04/)的规范配置:

# 第一优先级:将Authorization请求头写入环境变量
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

<IfModule mod_rewrite.c>
    RewriteBase /demo/04/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /demo/04/index.php [L]
</IfModule>

2. 排查服务器侧的请求头过滤

如果替换完.htaccess配置仍报错,说明问题出在Web服务器层的请求拦截:

  • 临时在站点根目录创建auth-test.php文件,写入代码<?php var_dump($_SERVER); ?>,然后携带Authorization: Test 123头访问这个文件,查看返回的$_SERVER数组中是否存在HTTP_AUTHORIZATION、REDIRECT_HTTP_AUTHORIZATION字段
  • 如果上述数组中完全找不到对应字段,说明服务器开启的mod_security规则、或Nginx兼容层主动丢弃了Authorization请求头:Nginx环境需要在站点配置中开启fastcgi_pass_request_headers on;确保请求头传递给PHP-FPM;Apache环境需要调整mod_security规则允许带Authorization头的请求放行

3. 增加wp-config.php的兜底兼容逻辑

即使环境变量存在读取延迟,也可以在WordPress核心加载前手动补全头读取逻辑,找到wp-config.php中加载wp-settings.php的位置,在其上方添加以下代码:

// 兼容部分CGI环境下的认证头读取
if (!isset($_SERVER['HTTP_AUTHORIZATION'])) {
    if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
        $_SERVER['HTTP_AUTHORIZATION'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION'];
    }
}

4. 最终验证

配置修改完成后,可直接用curl命令测试接口连通性,命令模板:
curl -X POST 你的站点域名/demo/04/wp-json/jwt-auth/v1/token -d "username=管理员账号&password=管理员密码"
正常返回包含token字段的JSON结构即为配置生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 03:36:05