Я новичок в Spring Security, но пытаюсь понять, как справиться со сложившейся у меня ситуацией -
У меня есть сайт, размещенный на bigmonolithjavaapp.example.com
- это большая Javaприложение, с пружинной безопасностью и jsp.
Мы находимся в процессе создания нового сайта на основе responsejs, который мы хотим встроить в качестве страницы в java-приложение JSP.Сайт реагировать будет, скажем, на reactjs.example.com
.
. Нам нужен reactjs.example.com
, чтобы иметь возможность получить доступ к конечной точке bigmonolithjavaapp.example.com/api
, чтобы использовать одни и те же бэкэнд-API.Эти конечные точки защищены Spring Security, и поэтому, когда я пытаюсь вызвать конечную точку bigmonolithjavaapp.example.com/api
со страниц reactjs.example.com
, меня перенаправляют на страницу входа, так как между этими двумя доменами нет общего сеанса.
Есть ли способ продлить весенний сеанс безопасности между обоими доменами?
У меня есть еще одно ограничение: я не могу изменить document.domain на страницах для bigmonolithjavaapp.example.com
поскольку на странице происходит много бизнес-логики, зависящей от субдомена.
Я вижу, что сегодня используются токены CSRF, JSESSIONID (HttpOnly) и куча других файлов cookie для bigmonolithjavaapp.example.com
Есть ли образец или пример того, как добиться этой интеграции?
Обновление: Поскольку я читаю больше через Интернет, я начинаю думать, что JWTхорошо подходит для этого или нет?
- Пользователь входит в
bigmonolithjavaapp.example.com
и идентифицирует себя. - Пользователь переходит к
bigmonolithjavaapp.example.com/coolpage.html
, где я могу вставить reactjs.example.com?token=<jwt_token>
в iframe. reactjs.example.com
может использовать токен jwt для доступа к защищенным ресурсам API из bigmonolithjavaapp.example.com
.
Этот подход звучит правдоподобно?