@user9823

Как получить getUser из JWT в контроллере Symfony?

Всем привет
пытаюсь сделать jwt для авторизации пользователя через api
делал по следующей инструкции
https://smoqadam.me/posts/how-to-authenticate-user...
и вроде по инструкции всё работает, самый последний тест при вызове к ApiController возращвает тестовое сообщение, всё как надо, но в классе JwtAuthenticator реализован метод getUser($credentials, UserProviderInterface $userProvider)
и
теперь в ApiController я хочу автоматически вызывать getUser чтоб автоматически при любом запросе к апи у меня сразу устанавливалось свойство $user
каким образом это сделать?
заново в апи реализовывать метод дешифрации baerer токена, и потом дёргать этот метод при обращении к каждому методу в апи не есть хорошо
т.е. каким образом я могу в любом контроллере обращаться к этому методу?
  • Вопрос задан
  • 252 просмотра
Решения вопроса 1
@Flying
Метод getUser() есть в AbstractController, так что вы можете просто вызывать его если ваши контроллеры наследуются от AbstractController.

Альтернативно вы можете получать пользователя через аргумент action метода благодаря UserValueResolver

Дешифровать в контроллерах вам точно ничего не нужно, почитайте как работает система Security в Symfony. User, после его получения в результате процесса аутентификации, хранится в security токене в том виде в котором вы его туда отдали, в вашем случае - в виде entity.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы