Как получить данные пользователя с помощью cookie httpOnly в процессе аутентификации React / NodeJS - PullRequest
0 голосов
/ 24 февраля 2019

Я разрабатываю клиент React / Redux с бэкэндом NodeJS / Express.Приложение реагирует на порт 3000, а внутренний сервер - на порт 443.

Это приложение React имеет 3 маршрута реакции-маршрутизатора (SignUp, Login и Home, последний защищен и доступен только для аутентифицированных пользователей).

Когда пользователь входит в систему, приложение React отправляет запрос на сервер с адресом электронной почты и паролем.Сервер ищет пользователя в базе данных mongoDB и возвращает res.cookie с флагом httpOnly.

Файл cookie представляет собой jwt с некоторой информацией, например, флагом isAdmin.Домашний маршрут в клиенте имеет различные параметры, в зависимости от того, является ли пользователь администратором.

Как мой клиент React может безопасно узнать, вошел ли пользователь в систему и является ли пользователь администратором или нет?

Я нашел 2 решения:

  • Используйте localStorage / sessionStorage вместо файла cookie httpOnly, но мне сказали, что это очень небезопасно.
  • Снимите флаг httpOnly, так что мой клиент может прочитать куки.Я проверил это и отлично работает, но опять-таки меня беспокоит угроза безопасности.

Я чувствую, что что-то упущено в процессе аутентификации.Заранее спасибо и извините за мой плохой английский.

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