Я использую сторожевую аутентификацию Symfony для аутентификации токена для моего API. Это работает нормально, если кто-то предоставляет правильный токен аутентификации, но когда токен пуст или не корректен, функция getUser () выдает мне исключение.
{
"message": "Username could not be found."}
Я настроил это сообщение, используя CustomUserMessageAuthenticationException
как ниже
{
"message": "Auth token required."}
Но что мне действительно нужно, так это
{
"status": "error",
"message": "Auth token required."}
Пожалуйста, помогите мне в этом. Я видел много учебников по этому вопросу, но не повезло. Если вам нужна дополнительная информация, то я также могу предоставить вам. Пожалуйста, игнорируйте грамматические ошибки.
Вы должны создать Custom User Provider. Читайте здесь.
https://symfony.com/doc/current/security/custom_provider.html
Я только что нашел ответ,
Ты можешь использовать onAuthenticationFailure
метод для настройки сообщения об ошибке.
Я так и сделал.
public function onAuthenticationFailure(Request $request, AuthenticationException $exception)
{
$data = array(
'status' => 'error',
'message' => 'Authentication Required'
);
return new JsonResponse($data, Response::HTTP_FORBIDDEN);
}