使用REST API使用Vue检索WordPress用户 meta

tf7tbtn2  于 2023-05-16  发布在  WordPress
关注(0)|答案(1)|浏览(114)

我试图检索使用 meta的用户是登录使用休息的API,但它返回'用户未登录'作为响应。
我假设它是由于没有被认证,但我不能弄清楚你应该怎么做。
我走了这条路,没有运气:

mounted(){

    let token = "";
    axios.post('https://example.com/wp-json/jwt-auth/v1/token', {
      username: 'USERNAME',
      password: 'PASSWORD',
    }).then((res) => {
      token = res.data.token;
    });

    axios.get('https://example.com/wp-json/wp/v2/users/me', {
      headers: {
        Authorization: `Bearer ${token}`,
      },
    }).then((res) => {console.log(res.data));

  }
bgtovc5b

bgtovc5b1#

您无法获取用户信息,因为有2个请求正在并发运行。还没有得到令牌,获取用户 meta请求已经运行,所以现在token = ''
要解决这个问题,您应该在登录请求之前添加await
此时,请求get user meta将等待登录请求完成运行

async mounted(){

    let token = "";
    await axios.post('https://example.com/wp-json/jwt-auth/v1/token', {
      username: 'USERNAME',
      password: 'PASSWORD',
    }).then((res) => {
      token = res.data.token;
    });

    axios.get('https://example.com/wp-json/wp/v2/users/me', {
      headers: {
        Authorization: `Bearer ${token}`,
      },
    }).then((res) => {console.log(res.data)});
  }

相关问题