В настоящее время мой СПА прост и имеет только контактную форму. Данные формы отправляются на бэкэнд. Для этого я установил Laravel Sanctum.
axios.get('/sanctum/csrf-cookie').then((response) => {
axios.post('api/contact')
.then((response) => {
//doing stuff
});
});
Это прекрасно работает. Однако мне было интересно. Где и в какое время в вашем SPA вы запускаете первоначальный запрос на получение файла cookie CSRF? (axios.get('/sanctum/csrf-cookie')
)
Мои первые мысли были:
- Каждый раз, когда страница монтируется / загружается
- Только когда вы получаете
419
и пытаетесь обновить токен и повторить предыдущий запрос - Вы не запускаете никаких запросов API, только когда пользователь пытается войти в систему, и только тогда вы запрашиваете cookie (в моем случае у меня нет аутентификации пользователя)
- Для каждого запроса API вы оборачиваете его
axios.get('/sanctum/csrf-cookie')
вокруг