Я работаю над приложением с ReactJS веб-интерфейсом и Java бэкэндом. Процесс сборки включает перенос JSX в пакетный файл. js, который затем копируется в бэкэнд-проект, который, в свою очередь, упаковывается как WAR и развертывается на Tomcat Server.
Обычный рабочий процесс включает javax.servlet.Filter
, который перехватывает все http-запросы к серверу для проверки подлинности пользователя. Если нет, он перенаправляет на сервер OAuth для аутентификации. Ответ аутентификации затем сохраняется в сеансе http и используется фильтром для пропуска следующего запроса.
Таким образом, к моменту выполнения кода Javascript мне не о чем беспокоиться пользователь вошел в систему или нет. Я просто вызываю конечную точку отдыха /api/getCurrentUser
, чтобы получить информацию о пользователе с того же сервера, на котором находится пакет. js. В работе все отлично работает!
Моя проблема в том, что я хочу отлаживать, изменять и тестировать код ReactJS без повторного развертывания всего приложения. Развертывание занимает около 3 минут, и этот процесс слишком болезненный для каждой изменяемой строки кода.
До применения фильтра авторизации я использовал Dev Server Webpack для размещения, отладки и горячая перезагрузка кода реакции. Все /api
запросы были перенаправлены на экземпляр сервера, работающий на моей локальной машине. Теперь это невозможно, потому что когда я выполняю вызов API, на бэкэнде нет аутентифицированного пользователя, и фильтр перенаправляет вызов на сервер OAuth. Все потеряно отсюда.
Я знаю, что это Франкенштейн архитектуры, и это не то, что вы обычно видите, но у меня нет идей, как я мог заставить мою среду отладки работать снова. Мне нужно как-то аутентифицировать пользователя на бэкенде и использовать этот сеанс для отправки запросов API от Dev Server. У кого-нибудь есть идеи?