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

如何解决对接WordPress API时出现的JWT is not configured properly错误

WordPress JWT认证「Authorization header not found」故障排查方案

后端验证优先(先确认服务端可正常接收认证头)

  • 先验证服务端能否拿到Authorization头:在站点根目录新建test_header.php文件,写入以下代码:
<?php
// 打印所有请求头
print_r(apache_request_headers());
// 打印SERVER变量
print_r($_SERVER);
?>

在Insomnia中给这个测试接口请求头添加Authorization: Bearer test123,发起请求后搜索返回结果里是否存在Authorization/HTTP_AUTHORIZATION字段,值为你传入的Bearer test123:

  • 若未拿到该字段:如果用Apache服务,确认mod_setenvif、mod_rewrite扩展已开启,且站点配置中AllowOverride参数设置为All,确保.htaccess规则可生效;如果用Nginx服务,.htaccess规则不生效,需在站点配置的location块中添加proxy_set_header Authorization $http_authorization;后重启服务。
  • 若已拿到该字段:调整JWT插件的 header 读取逻辑,兼容不同服务的头键名写法,替换原有代码为:
$auth = false;
$header_keys = ['AUTHORIZATION', 'HTTP_AUTHORIZATION', 'Authorization'];
foreach ($header_keys as $key) {
    if (isset($allHeaders[$key])) {
        $auth = $allHeaders[$key];
        break;
    }
}
  • 完成后端配置后直接在Insomnia调用登录接口,手动添加正确的Authorization头,若接口返回正常则后端问题已修复,问题出在前端请求逻辑。

前端请求逻辑排查

  • 确认认证头格式正确:前端请求的Authorization头必须遵循Bearer 令牌字符串格式,必须保留Bearer前缀和中间的空格,不能直接传令牌字符串。
  • 跨域场景额外配置:若前后端本地端口不同存在跨域,需要在WordPress中添加跨域头配置,在主题functions.php或自定义插件中添加以下代码:
add_action('rest_api_init', function () {
    // 允许跨域请求携带认证头
    remove_filter('rest_pre_serve_request', 'rest_send_cors_headers');
    add_filter('rest_pre_serve_request', function ($value) {
        header('Access-Control-Allow-Origin: *');
        header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
        header('Access-Control-Allow-Headers: Content-Type, Authorization');
        header('Access-Control-Allow-Credentials: true');
        return $value;
    });
}, 15);

// 放行OPTIONS预检请求,避免JWT插件拦截
add_action('init', function () {
    if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
        status_header(200);
        exit();
    }
}, 1);
  • 排查请求库配置:若使用axios/fetch等请求库,确认未全局过滤掉Authorization头,跨域场景下axios需开启withCredentials: true配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:24:03