带有 Sanctum 身份验证的 Laravel 8 (Reactjs SPA)
Posted
技术标签:
【中文标题】带有 Sanctum 身份验证的 Laravel 8 (Reactjs SPA)【英文标题】:Laravel 8 with Sanctum Authentication (Reactjs SPA) 【发布时间】:2021-07-17 00:51:53 【问题描述】:我正在努力学习 Laravel sanctum,
在将“supports_credentials”的 cors.php 配置值更改为 true 后,我被困在 CSRF 部分。我在连接 /sanctum/csrf-cookie 时成功获得 204 响应。但在那之后,当尝试连接到“/login”时,我收到错误419 unknown status.
我已将此添加到我的 env 文件中
SESSION_DOMAIN=localhost:8000 // Laravel backend
SANCTUM_STATEFUL_DOMAINS=http://127.0.0.1:3000 // React Fronend
这是我的 Cors.php
'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
这是我的 **React 代码 **
const handleSubmit = (e) =>
e.preventDefault();
apiClient.get("sanctum/csrf-cookie").then((response) =>
apiClient
.post(
"api/login",
email: email,
password: password,
).then((response) =>
console.log(response);
);
);
;
下面是apiClient的代码
import axios from "axios";
const apiClient = axios.create(
baseURL: "http://127.0.0.1:8000/",
withCredentials: true
);
export default apiClient;
API 在 Postman
上运行良好【问题讨论】:
你试试命令。 PHP工匠优化:清除 它神奇地起作用。但是怎么做呢? Laravel 制作缓存 【参考方案1】:你试试命令。 php工匠优化:清除
【讨论】:
谢谢它的工作,但你能描述它背后的原因吗?以上是关于带有 Sanctum 身份验证的 Laravel 8 (Reactjs SPA)的主要内容,如果未能解决你的问题,请参考以下文章
如何选择使用 Laravel Sanctum 进行身份验证?
Laravel Sanctum 返回 404 而不是未经身份验证的 401
Laravel sanctum 检查用户是不是在没有重定向的情况下通过身份验证
Sanctum Laravel 8 用于 API 身份验证的问题(不会在注销时删除令牌)