Хранение идентификатора экспресс-сессии в React - PullRequest
0 голосов
/ 12 ноября 2019

У меня проблема с пониманием шагов для аутентификации с использованием Express session (backend) + React (frontend). Когда пользователь входит в систему на сервере, настраивает объект cookie сеанса с идентификатором пользователя, и таким образом он можетопределить, вошел ли пользователь в систему или нет ...

Как насчет стороны клиента? когда пользователь входит в систему, и я генерирую токен, я отправляю его обратно в приложение реагирования и сохранить его в localStorage, чтобы использовать его для каждого запроса, который я делаю позже? Я слышал, что это не защищено .... Поэтому я спрашиваю вас, как мне это реализовать? Как сохранить токен, полученный с сервера, для его использования при последующих запросах? Один из способов, который я могу придумать, это сделать еще один запрос get на стороне сервера, который возвращает session.userId, чтобы я мог видеть, если это правда, то пользователь вошел в систему ... Я просто пытаюсь выяснить, как реализовать это

спасибо!

1 Ответ

0 голосов
/ 12 ноября 2019

Браузеры реализуют хранение cookie, вам не нужно ничего делать явно на стороне клиента, чтобы поддерживать экспресс-сеанс. Когда аутентификация происходит впервые, сервер отправляет заголовок клиенту, инструктируя его сохранить cookie, и браузер удерживает этот cookie и отправляет его обратно на все последующие запросы. Ничего из этого не должно происходить в клиентских скриптах (то есть в вашем коде javascript).

Вам не нужно хранить куки в локальном хранилище, обычно это не нужно, и куки-файлы сеанса будут «httponly», то есть клиентСкриптам запрещен доступ к ним. Это должно уменьшить вероятность кражи сеанса в случае XSS.

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