Как сохранить сеанс входа в систему между двумя микросервисами? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть промежуточный сервер единого входа (sso.example.com), поддерживающий сеансы входа в систему для нескольких микросервисов.Есть ли способ сохранить сеансы входа в систему между двумя микросервисами (каждый со своим веб-сервером / сервером приложений) в следующем примере потока?

  1. Пользователь входит в систему sso.example.com, которая создает новый сеанссохраняет идентификатор сеанса в файле cookie и информацию о сеансе HTTP в кэше Redis, срок действия которого истекает через 30 минут
  2. Пользователь нажимает на ссылку, обслуживаемую service1.example.com
  3. sso.example.com, проверяет сеанс и перенаправляет наservice1.example.com (который не имеет доступа к кэшу Redis)
  4. Пользователь остается активным в service1.example.com в течение 30+ минут
  5. Пользователь перемещается с помощью перенаправления в sso.example.com на service2.example.com (которыйне имеет доступа к кешу Redis), но сессия уже истекла!
...