Допустим, у нас есть REST / HTTP API с механизмом аутентификации jwt, т.е. есть
- сервисный GET / токен для предоставления токенов jwt при успешной базовой аутентификации с истечением дня,скажем
- промежуточное ПО, которое проверяет входящие запросы ко всем другим службам на предмет секретности.секрет находится в приложении.
Теперь у нас есть встроенный в проект набор тестов, состоящий из вызовов API (определенных через некоторую систему схем) для выполнения интеграционных тестов.Мы явно не хотим, чтобы токены были жестко запрограммированы в конфигурации тестового пакета.Тестовый набор должен запускаться в конвейере сборки очень часто (например, при каждом коммите).
Как правильно выделить часть "получения токена" из тестового набора?
Опции, о которых я могу думать:
- генерация токена с очень длинным сроком действия (для каждого пользователя) и его жесткое кодирование
- встраивание службы в API специально для тестового набора дляполучать токены с авторизацией в качестве технического пользователя.затем необходимо каким-то образом ограничить использование службы, чтобы протестировать область действия
- , создавая службу, подобную приведенной выше, но не включайте ее в проект