Управление сеансом в React с использованием файлов cookie - PullRequest
0 голосов
/ 14 июля 2020

В моем проекте я использую nodeJS и реагирую. Для сеанса на стороне сервера я использую httpOnly cook ie. Поэтому, когда пользователь входит в систему, мы отправляем httpOnly cook ie с токеном JWT (httpOnly cook ie содержит токен JWT). Теперь, используя httpOnly cook ie, я проверяю аутентификацию на стороне сервера.

Теперь проблема в том, как управлять сеансом (или проверять аутентификацию) на стороне реакции? потому что здесь мы не можем получить доступ к httpOnly cook ie с помощью javascript.

Например:

  • / login route -> httpOnly cook ie send пользователю
  • / dashboard ----> Предположим, пользователь хочет открыть его маршрут без входа в систему, тогда нам сначала нужно проверить, действителен ли пользователь или нет (если мы используем локальное хранилище, это будет просто, потому что нам нужно только проверить хранилище токенов в локальном хранилище). Теперь, как проверить подлинность пользователя в поваре ie?

Было бы здорово, если бы у кого-нибудь появилась идея решить эту проблему.

1 Ответ

2 голосов
/ 14 июля 2020

Если вы хотите использовать только файлы cookie httOnly, то ваш единственный вариант - реализовать проверку аутентификации на вашем BE, которая вернет ответ на основе этого Cook ie (и вы используете эту конечную точку для проверки аутентификации).

Другой вариант - не использовать httpOnly куки. Таким образом, если вы переключитесь на обычные файлы cookie, вы сможете проверить JWT также на FE, как на BE (проверка подписи JWT перед выполнением дополнительных действий).

Но вы должны знать, что это нормально файлы cookie, а также файлы cookie httpOnly могут быть украдены, поэтому они не рекомендуют хранить токены JWT в файлах cookie. (но да httpOnly куки намного безопаснее обычных, но все же не на 100% безопасны)

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