как поделиться данными сеанса между двумя приложениями Angular 2 - PullRequest
0 голосов
/ 08 июня 2018

У меня есть два угловых приложения: App1 и App2.Я хочу поделиться данными сеанса App1 с App2.Ссылка, как и в Google, мы можем получить доступ ко всем приложениям Google с одним логином.

1 Ответ

0 голосов
/ 04 декабря 2018

это логика в общем виде:

Когда пользователь входит в систему, BE назначает временный токен для этого имени входа.

Если BE панели мониторинга и приложения app1 отличаются, db-be передает активные токены в app1-be

ИЛИ ЛУЧШЕ будет централизованный BE только для генерации токена сеанса (см. https://www.keycloak.org/ и программное обеспечение для управления идентификацией), где каждый вовлеченный BE ищет активные токены.

Когда пользователь нажимает кнопку на панели инструментов app1, BE перенаправляет его на что-то вроде http://[app1]? token =[hash1234] где токен - значение токена пользователя.

Пользовательский интерфейс приложения app1 запускается, читает токен и сохраняет его в локальном хранилище.

Когда app1 вызывает BE через rest, обычно используя угловой перехватчик, каждый вызов подписывается значением заголовка, таким как {authentication: bearer [token value]}, где токен-носитель - это токен, на котором уже зарегистрирован канал-носитель.

BE проверяет, что токен уже действителен (скорее всего, при обращении к серверу идентификации) и, если это так, предоставляет доступ к вызываемым ресурсам.,

См. Аутентификация JWT и вход в систему единого входа.

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