Доброго времени суток.
Версия платформы - 1.4.2
Classic UI
Есть два приложения, деплоятся через ci/cd на стенд на разные порты.
Все работает, пока не пытаешься запустить в одном браузере в разных вкладках оба приложения одновременно. Происходит следующее:
Запустил первое - залогинился - все ок
Запустил второе - даже без логина - только открылся логин скрин - возвращаюсь во вкладку с первым приложением - всплывает наверху сообщение “Session Expired…”
Я так понимаю, что проблема в куки-файле JSESSIONID, в котором хранится токен.
Так как куки httpOnly, для JS он не доступен.
Удалось пробить подмену имени (JSESSIONID), но позже выяснилось, что оно захордкожено в нескольких местах в vaadinPush.js и catalina.util.SessionConfig.java
Может быть можно как-то расширить поле path, добавив туда порт?
Есть ли вообще решение такой проблемы?
Буду благодарен за помощь.
Добрый день!
А как вы меняете название куки сессии? В Spring Boot есть специальное свойство:
server.servlet.session.cookie.name=MY_JSESSION
1 симпатия
Уже решили с помощью NGINXa, заодно дали уникальные dns адреса каждому приложению, в соответствии с бизнес-задачами.
За наводку спасибо - потестим!