Laravel api sanctum CSRF令牌在chorme中不匹配

时间:2021-06-04 08:16:26

标签: laravel vue.js laravel-sanctum

我有 vue 应用程序和后端 laravel ,用于身份验证使用 SPA 身份验证

本地主机一切正常,但服务器出现问题

我将登录请求发送到 sanctum/csrf-cookie 然后 /login 并返回 200 并记录,但是当重定向到仪表板时出现错误:

CSRF token mismatch.

此问题仅在 google chorme 中出现,但在 Firefox 中可以正常工作

我有两个子域: app.mydomain.com 和 api.mydomain.com

SANCTUM_STATEFUL_DOMAINS=app.mydoamin.com
SESSION_DOMAIN=.mydoamin.com

也在 vue 应用程序中:

window.axios.defaults.withCredentials = true

我的交叉设置: 'paths' => ['api/*', 'sanctum/csrf-cookie','login-user'],

'allowed_methods' => ['*'],

'allowed_origins' => ['*'],

'allowed_origins_patterns' => [],

'allowed_headers' => ['*'],

'exposed_headers' => [],

'max_age' => 0,

'supports_credentials' => true,

1 个答案:

答案 0 :(得分:0)

你在 config/sanctum.php 中的设置是什么?在 .env 文件中将 session_domain 设置为 .localhost 这为我解决了类似的问题。