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

使用Vue调用WordPress REST API获取用户元数据时遇未登录错误

问题解决:WordPress REST API 获取当前用户数据返回「user not logged in」

核心问题

你的代码存在异步执行顺序错误:axios.post 请求获取token是异步操作,但你紧接着就调用了axios.get,此时token还未成功获取,导致请求头里的Authorization是空值,接口自然返回未登录提示。

修复后的代码

将获取用户数据的请求放到token请求的then回调内,确保拿到有效token后再发起请求:

mounted() {
    axios.post('https://example.com/wp-json/jwt-auth/v1/token', {
      username: 'USERNAME',
      password: 'PASSWORD',
    }).then((res) => {
      const token = res.data.token;
      // 拿到token后再发起获取用户数据的请求
      axios.get('https://example.com/wp-json/wp/v2/users/me', {
        headers: {
          Authorization: `Bearer ${token}`,
        },
      }).then((res) => {
        console.log(res.data);
      }).catch(err => {
        console.error('获取用户数据失败:', err);
      });
    }).catch(err => {
      console.error('获取token失败:', err);
    });
}

额外注意事项

  • 确认WordPress已正确安装并启用JWT Authentication for WP REST API插件,同时在wp-config.php中配置必要参数:
    define('JWT_AUTH_SECRET_KEY', '你的自定义密钥');
    define('JWT_AUTH_CORS_ENABLE', true);
    
  • 检查用户名、密码是否正确,避免因认证失败导致无法获取token
  • 添加catch捕获错误,方便快速排查请求失败原因

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:22:04