Совместное использование сеансов Reactjs и JSP / Spring Security - PullRequest
0 голосов
/ 22 марта 2019

Я новичок в Spring Security, но пытаюсь понять, как справиться со сложившейся у меня ситуацией -

  1. У меня есть сайт, размещенный на bigmonolithjavaapp.example.com - это большая Javaприложение, с пружинной безопасностью и jsp.

  2. Мы находимся в процессе создания нового сайта на основе 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хорошо подходит для этого или нет?

  1. Пользователь входит в bigmonolithjavaapp.example.com и идентифицирует себя.
  2. Пользователь переходит к bigmonolithjavaapp.example.com/coolpage.html, где я могу вставить reactjs.example.com?token=<jwt_token> в iframe.
  3. reactjs.example.com может использовать токен jwt для доступа к защищенным ресурсам API из bigmonolithjavaapp.example.com.

Этот подход звучит правдоподобно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...