Аутентификация в микросервисах с пружиной - PullRequest
0 голосов
/ 11 марта 2019

Я хочу реорганизовать монолитное приложение с весенней загрузкой, в основном веб-приложение с логином и функциями для клиентов. У нас уже есть реализация Security, которая работает с идентификатором сеанса, хранящимся в виде файла cookie, но я совсем не знаю об этом, и я совершенно новичок в этой теме. Кажется, JWT является лучшим решением для микросервисов благодаря независимой службе аутентификации.

Итак, мои вопросы:

  • Много ли работы по созданию службы аутентификации JWT и обмену реализацией идентификатора сеанса? (поскольку я делаю это для моей дипломной работы и у меня четкий срок)

  • можно ли использовать идентификаторы сеансов при использовании микросервисов?

  • , возможно, существуют другие способы реализации аутентификации?

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Типичные пользовательские сеансы в микросервисах не рекомендуются. Следует использовать архитектуру и токены без сохранения состояния (токены, хранящиеся в базе данных или JWT).

Лучше использовать Spring Boot OAuth2 .

Вы должны внедрить Сервер авторизации и Серверы ресурсов с помощью Spring Boot.

Сервер авторизации:

  1. Выберите способ хранения токена (JWT, Jdbc, ...)
  2. Настройка данных клиента
  3. Добавить RESTful Api для информации о пользователе или включить / oauth / check_token api. (Вызывается серверами ресурсов)

Серверы ресурсов:

  1. Установите user-info-uri или token-info-uri в свойствах весенней загрузки OAuth2.
  2. Расширяет класс ResourceServerConfigurerAdapter для защиты отображений URL.
0 голосов
/ 11 марта 2019

Много ли работы по созданию службы аутентификации JWT и обмену реализацией идентификатора сеанса?(поскольку я делаю это для моей дипломной работы и у меня четкий срок)

На этот вопрос сложно ответить, так как это зависит от того, насколько тесно связана ваша конкретная реализация.Это, конечно, не тривиально.

можно ли использовать идентификаторы сеансов при использовании микросервисов?

Да, но вам необходимо выяснить, как объединить сеансы между микросервисами (т.е. как получить информацию в сеансе от одного сервиса к другому).В целом, это риск жесткой связи между службами, поэтому я рекомендую рассматривать это только как переходный этап.

Есть ли другие способы реализации аутентификации?

Целый день длинный.При этом без особой причины поступать иначе я обычно предпочитаю держаться середины дороги.

...