Laravel - Как отловить «HttpExceptions» из-за запроса POST, когда CSFR неверен? - PullRequest
0 голосов
/ 28 сентября 2018

Таким образом, пользователь выходит из системы на одной вкладке, а на другой вкладке он «визуально» все еще входит в систему.

Теперь, например, пользователь отправляет сообщение чата по маршруту POST, но сервер отвечаетс:

Request Method: POST
Status Code: 419 
exception: "Symfony\Component\HttpKernel\Exception\HttpException"

Причина в том, что значение CSFR имеет значение false, поскольку пользователь вышел из системы.

Мое желание - получить тот же ответ, что и в методах запроса GET.

Там я получаю:

Request Method: GET
Status Code: 401 
message: "Unauthenticated."

Поскольку Пользователь больше не аутентифицирован.(Промежуточное ПО установлено на «auth»)

Зачем мне это нужно?

Я хочу отлавливать сбои с помощью axios и проверять, не прошел ли пользователь проверку подлинности.Если это так, страница перезагружается.

Но сейчас я не знаю, если пользователь не прошел проверку подлинности или он пытается использовать мою страницу, но имеет неправильный токен csrf.

1 Ответ

0 голосов
/ 29 сентября 2018

Текущее решение в Handler.php

 if ($exception instanceof TokenMismatchException){
     return $request->expectsJson()
            ? response()->json(['message' => 'Invalid CSRF.'], 400)
            : abort(400);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...