我正在尝试使用中间件 Sanctum 让 React 和 Laravel 一起工作。
我可以阅读许多尝试使用基于 cookie 的设置来执行此操作的示例,但我正在尝试将令牌设置用于纯 API 方法。我这样做是因为我想准备后端以在没有 cookie 的移动应用程序中使用。
这是我设置的一部分:
/后端/路由/api.php:
Route::post('/login', [ UserController::class, 'getAccessToken'] );
/frontend/store/api.js
static login( user ) {
var formData = new FormData();
formData.append('username', user.username);
formData.append('password', user.password )
formData.append('deviceName', 'browser');
return fetch(
'http://localhost:5001/api/login, {
method : 'post',
body : formData
}
);
}
我的问题是,当访问登录路由时,它会强制进行 CSRF 令牌检查。即使登录路径不应该由 Sanctum 保护。当我登录并且还没有要附加到请求的令牌时,这当然会失败。据我了解,仅在登录后访问受保护的路由时才需要令牌。我已经通过将其重命名为假的东西并收到错误来仔细检查它是否正在访问正确的路线。
我在使用 Sanctum 时做错了什么,还是 Sanctum 不是 api 令牌的首选用途?我应该改用 JWT 吗?
预先感谢您的帮助。<3