我有一个 SPA 应用,我尝试在其中实施 Sanctum 的 CSRF 保护。
来自文档:
<块引用>要验证您的 SPA,您的 SPA 的“登录”页面应首先向 /sanctum/csrf-cookie 端点发出请求,以初始化应用程序的 CSRF 保护
现在我在登录前请求 CSRF 令牌
axios.get('/sanctum/csrf-cookie').then(response => {
// Login...
});
在我的应用程序中执行任何发布请求之前,我应该请求 CSRF 令牌吗?
如果是,我基本上需要在 POST api/password_reset
、POST api/tracking
、POST api/register
等路由之前请求 CSRF 令牌。
或者有什么方法可以告诉 Laravel Sanctum 只为受保护的路由返回 419
CSRF token mismatch
错误,即。使用 auth:sanctum
中间件路由?
编辑:
只是想说明一下,我对 CSRF 的总体实施没有任何问题。在我请求 CSRF 令牌后,它工作得很好。 Axios 将在所有后续请求中添加令牌。我的问题实际上是关于何时对 CSRF 令牌进行第一次请求。