我为 Laravel 创建了一个多 auth 系统,我可以登录并保护 web.php 中定义的路由(使用 web 和 admin)工作正常。现在我也想对 api.php 中的 api 调用做同样的事情。为此,我安装了 Passport,将我的 auth.php 文件更改为 api 的护照,在 Kernel.php 中附加了令牌,在我的 axios 请求中附加了 xsrf 和 XMLHttpRequest。但是当我执行我的 api 通话时,我总是得到 401 Unauthorized。我查看了我的标题并看到 laravel_token 和 X-XSRF-TOKEN,所以我很困惑为什么它不起作用。有人有任何想法吗?谢谢!

标题看起来像:

Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: undefined
Connection: keep-alive
Cookie: XSRF-TOKEN=eyJpdiI....
DNT: 1
Host: 127.0.0.1:8000
Referer: http://127.0.0.1:8000/availability/calendar
User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Mobile Safari/537.36
X-CSRF-TOKEN: 4SUDy8IJigeEBftGjTVgat7cqPSGnncA0zuSiEeI
X-Requested-With: XMLHttpRequest
X-XSRF-TOKEN: dsfjkdsfsdj.....

在我的 api.php:

Route::post('/userStuff', 'MyController@userstuff')
->middleware('auth:api');

我的 axios 请求:

axios.get("/api/userStuff").then(({data}) => {
            console.log(data);
});