Angular 6 SPA с Identity Server - хранение токенов - PullRequest
0 голосов
/ 01 февраля 2019

Я разрабатываю SPA на основе Angular 6, который обращается к внутреннему API для данных.Это приложение и API были защищены с помощью Identity Server 4. Я использую библиотеку oidc-client для взаимодействия с Identity Server.Хотя приложение работает довольно хорошо, есть один аспект, который необходимо учитывать.

После аутентификации, когда пользователь находится в приложении и обновляет браузер (с помощью F5), токены аутентификации, которые возвращаютсяСервер идентификации пропал.Чтобы избежать этого, были предложения сохранить токен в local storage.Тем не менее, были также блоги, которые советуют против этого из-за возможных атак XSS.

Кто-нибудь сделал что-то другое?Какие другие возможные пути я могу предпринять для решения этой проблемы?

Спасибо, Сушил

1 Ответ

0 голосов
/ 11 февраля 2019

Общее предложение заключается в том, чтобы использовать Локальное хранилище для данных с длительным сроком службы и Сеансовое хранилище для конфиденциальной информации, относящейся к сеансу, аналогично тому, как вы используете постоянные и сеансовые куки-файлы для сервера.управляемые веб-приложения.
Это не предотвращает возможность XSS-атак, но сводит к минимуму время, когда открыта вкладка с вашим SPA.
И, да, вы можете переключиться (назад) на авторизацию cookie с помощью HttpOnly и Lax или Строгий Режим SameSite.Гораздо безопаснее, но с возможными проблемами совместимости.

...