Axios请求需要哪个Laravel Passport令牌

问题描述 投票:0回答:1

我正在尝试为我的Laravel / Vue SPA创建用户身份验证。我决定使用Laravel Passport,因为在文档中建议这样做。我遵循了安装步骤,这也为我创建了一个客户端。创建用户时,我会为他们创建令牌,如下所示:

$user->createToken('Access Token')->accessToken;

正如我所看到的,令牌存储在oauth_access_tokens表中。我已经在api/routes文件中声明了一条路线:

Route::resource('user', 'UserController')->middleware('auth:api');

该路线受到良好保护,因为它给我以下错误:

获取http://127.0.0.1:9000/api/user 401(未授权)

通常我会这样获取用户:

   fetchData() {
      axios
        .get("/api/user")
        .then(response => {
          this.users = response.data.data;
        })
        .catch(error => {
        });
    },

但是我想我现在必须通过axios请求传递某种令牌。我的问题是,用户登录时应该获取哪个令牌/客户端,以及如何通过axios传递令牌/客户端?我发现文档对此不太清楚。也许我是在想错或完全忘记了某些东西,但我似乎找不到它。

laravel vue.js laravel-passport laravel-6
1个回答
0
投票

您必须将用户的令牌放在请求的标头部分作为授权:

var config = {
    headers: {'Authorization': "bearer " + token}
};

var body = {
   key: "value"
}

axios.post( 
  URL,
  body,
  config
).then((response) => {
  console.log(response)
}).catch((error) => {
  console.log(error)
});
© www.soinside.com 2019 - 2024. All rights reserved.