欢迎光临
我们一直在努力

Laravel 实战开发知乎laravel passport 401 Unauthorized vue

在练习Laravel 实战开发知乎:前后端分离 API token 认证这节时,因为高版本的跟5.4版本的有所区别,所以将laravel5.8下的API token认证在这儿作以记录。

在app.blade.php这个模板页头部 <!– CSRF Token –>段落后加入,即

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <!-- API Token -->
    <meta name="api-token" content="{{ Auth::check() ? 'Bearer '.Auth::user()->api_token : 'Bearer ' }}">

然后在resources/js/bootstrap.js里大概43行后加入如下代码

let apiToken = document.head.querySelector('meta[name="api-token"]');

if (apiToken != 'Bearer ') {
    window.axios.defaults.headers.common['Authorization'] = apiToken.content;
} else {
    console.error('API token not found');
}

加入后,部分代码如下

let token = document.head.querySelector('meta[name="csrf-token"]');


if (token) {
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}

let apiToken = document.head.querySelector('meta[name="api-token"]');

if (apiToken != 'Bearer ') {
    window.axios.defaults.headers.common['Authorization'] = apiToken.content;
} else {
    console.error('API token not found');
}

这样便解决了API调用时401错误。

赞(1)
版权归原作者所有,如有侵权请告知。达维营-前端网 » Laravel 实战开发知乎laravel passport 401 Unauthorized vue

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址