Безопасно ли хранить параметр состояния OAuth2 в хранилище javascript (cook ie, локальное хранилище)? - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть веб-приложение с внешним интерфейсом javascript и бэкэндом без сохранения состояния. Мне нужно авторизовать пользователя через OAuth2. Когда я перенаправляю пользователя к провайдеру OAuth2, мне нужно привязать параметр состояния к запросу, чтобы предотвратить CSRF-атаку . Когда поставщик OAuth2 перенаправляет пользователя обратно в мое приложение, мне нужно проверить, что параметр состояния совпадает. Я не могу сохранить параметр состояния в бэкэнде, потому что он не имеет состояния. Безопасно ли хранить параметр состояния OAuth2 в каком-то javascript хранилище?

1 Ответ

1 голос
/ 10 февраля 2020

Обычный метод для SPA - сохранить параметр состояния в браузере через HTML5 хранилище сеансов и удалить его при получении ответа. Это просто неосуществимое значение, которое изменяется для каждого перенаправления.

Пара связанных ссылок:

Из интереса вышеупомянутая широко используемая сертифицированная библиотека использует это поведение.

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