Я создал собственный класс аутентификации токена, расширив класс AbstractGuardAuthenticator, как объяснено здесь . Мое требование состояло в том, чтобы принять jwt, распаковать его и идентифицировать пользователя, проверив его идентификатор в базе данных, которая работает совершенно нормально.
Теперь мне нужно переопределить основные методы его использования в php модульные тесты . Проще говоря, обойти это и установить пользователя по умолчанию. Поэтому я могу тестировать конечные точки API, не передавая пользовательские токены каждый раз, когда выполняю функциональный тест.
То, что я пытался
Я пытался определить отдельный security.yaml в проверить папку и вызвать настроенный класс, используя ее для переопределения, но приложение по-прежнему вызывает класс по умолчанию.
Путь: config / packages / test / security.yaml
security:
firewalls:
main:
anonymous: lazy
logout: ~
guard:
authenticators:
- Otrium\Infrastructure\Security\TestTokenAuthenticator
entry_point: Otrium\Infrastructure\Security\TestTokenAuthenticator
stateless: true
Единственное решение, которое я нашел до сих пор, - это сохранить соответствующий jwt и передавать его в качестве значения заголовка в каждом тесте.
Symfony версия - 5 / Php версия - 7.4