Как настроить ответ возврата функции getUser () в настраиваемом поставщике Symfony?

Я использую сторожевую аутентификацию Symfony для аутентификации токена для моего API. Это работает нормально, если кто-то предоставляет правильный токен аутентификации, но когда токен пуст или не корректен, функция getUser () выдает мне исключение.

{
"message": "Username could not be found."}

Я настроил это сообщение, используя CustomUserMessageAuthenticationException как ниже

{
"message": "Auth token required."}

Но что мне действительно нужно, так это

{
"status": "error",
"message": "Auth token required."}

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

0

Решение

Вы должны создать Custom User Provider. Читайте здесь.

https://symfony.com/doc/current/security/custom_provider.html

0

Другие решения

Я только что нашел ответ,

Ты можешь использовать onAuthenticationFailure метод для настройки сообщения об ошибке.

Я так и сделал.

public function onAuthenticationFailure(Request $request, AuthenticationException $exception)
{
$data = array(
'status' => 'error',
'message' => 'Authentication Required'
);
return new JsonResponse($data, Response::HTTP_FORBIDDEN);
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector