LexikjwtAuthenticator Symfony определяет маршрут для аутентификации

#symfony #authentication #jwt

#symfony #аутентификация #jwt

Вопрос:

Я пытаюсь использовать Lexikjwtauthenticator в проекте Symfony, но я не могу понять, где определен контроллер /api/login_check .

Я получаю сообщение «Не удается найти контроллер для пути»/ api / login_check». Маршрут неправильно настроен «. все время. Единственный способ обойти это — определить конфигурацию form_login (отличную от json_login) внутри брандмауэра входа в систему. Это правильно или я что-то упускаю?

Спасибо

Комментарии:

1. Невозможно найти контроллер для path, потому что конечная точка для login_check — это только /login_check, а не api/login_check

2. вы должны определить его в config/routes.yaml

Ответ №1:

Я обнаружил, что настоящая проблема была вызвана использованием «postman», который, по-видимому, отправляет данные в виде «формы» вместо «json».

Изменение безопасности.yaml «json_login» и замена его на «form_login» (который задокументирован), похоже, все работает нормально с Postman.

Мне все еще нужно попробовать это из моего интерфейса JS.

Комментарии:

1. Рад, что вы делаете успехи. Имейте в виду, что контроллера login_check как такового не существует. Вместо этого существуют прослушиватели событий безопасности, которые действуют как контроллеры. Они перехватывают запрос login_check, выполняют аутентификацию, а затем направляют соответствующий ответ.

2. Вот почему я не мог найти контроллер. Я не смог найти это в документации… Может быть, это был только я. Спасибо