所以已经过了几个小时我无法弄清楚这个问题,即使通读并尝试互联网上可用的任何可能的解决方案。我正在将Laravel 7.x与Vue js一起使用,并在Sanctum SPA身份验证方面苦苦挣扎。
使用web.php 中定义的Auth::routes() 的登录请求工作正常
但是,对auth:sanctum 中间件下api.php 中定义的 API 发出的任何请求都会返回 401。例如,调用获取用户对象失败,状态为 401:
这是请求标头:
这是web.php
这是api.php
这是sanctum.php 中的有状态对象
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost,127.0.0.1,127.0.0.1:8000')),
在 vue.js 方面,我将 withCredentials 标志设置为 true:
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
window.axios.defaults.withCredentials = true;
在cors.php 中, suports_credentials 标志也设置为 true
而且,这是我的Kernel.php
/**
* The application's route middleware groups.
*
* @var …Run Code Online (Sandbox Code Playgroud)