Я разрабатываю сервер единого входа с использованием Spring OAuth2. Моё демонстрационное приложение включает в себя 1 sso-сервер и 2 клиентских приложения (оба клиента - приложения Spring с приложениями @ EnableOAuth2Sso или Angular 5). Работает с базовым корпусом:
- Неаутентифицированный пользователь открывает app1 / home -> перенаправить на oauth2 / login
-> залогиниться -> перенаправить app1 / home
- Пользователь открывает app2 / home -> ему не нужно входить в систему и немедленно открывает app2 / home.
Но проблема при следовании потоку:
- Неаутентифицированный пользователь открывает app1 / home -> перенаправить на oauth2 / login
(пользователь не авторизуется сразу)
- Пользователь открывает app2 / home -> перенаправляет на oauth2 / login (пользователь также не
войдите немедленно)
- Пользователь для входа в приложение app1 -> Он непреднамеренно перенаправляется в App2 Home
- Пользователь для входа в приложение 2 -> Он непреднамеренно перенаправлен на сервер единого входа.
И цепочка ошибок продолжится, когда я получу app3, app4 .... Подводя итог, когда я параллельно открываю множество вкладок браузера для входа в систему, а затем фактически регистрирую одну из них, я буду перенаправлен на последнее открытое приложение.
Может ли кто-нибудь дать мне несколько советов?