Как получить cookie-файлы JWT в нашем приложении реагирования, как проверить, является ли пользователь логином или нет, я не могу найти способ обработки сеанса реагирующего приложения. - PullRequest
1 голос
/ 23 октября 2019

Как получить файлы cookie JWT в нашем приложении реагирования, как проверить, входит ли пользователь в логин или нет. Я не могу найти способ обработки своего сеанса реагирования.

Я действительно ценю, кто мне в этом помогает. проблема.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 23 октября 2019

API на стороне сервера устанавливает файл cookie HTTPOnly, который вы не сможете прочитать в JS. То, что вам нужно сделать в вашем реагирующем приложении, обрабатывает ошибку состояния 401 и на основании этого устанавливает флаг isAuthenticated или что-то в качестве ложного. В противном случае сохраните это, чтобы быть правдой. С каждым запросом на сервер HTTPOnly cookie будет отправляться автоматически, поэтому вам не нужно обрабатывать токен внутри cookie. Код бэкэнда должен отправить 401 после истечения срока действия куки-файла, или когда требуется выйти из системы или истекает JWT внутри куки-файла.

0 голосов
/ 23 октября 2019

Ваш API входа в систему должен возвращать токен JWT и продолжительность его работы.

Ваш ответ API входа в систему будет выглядеть так:

{ 
  jwt: your jwt token, 
  duration: in seconds 
} 

Использование universal-cookies NPM для сохранения этого результата в файлах cookie.

Для получения более подробной информации о том, как манипулировать файлами cookie, посетите страницу

https://www.npmjs.com/package/universal-cookie

Для настройки файлов cookie ваш код, например:

const cookies = new Cookies();
cookies.set(name of cookies, jwt value from API call, {
    maxAge: duration,
});

Выше кода сохраняйте cookie-файлы jwt в браузере, а после maxAge автоматически удаляйте их из браузера.

Таким образом, для идентификации сеанса присутствует или нет, вам следует проверить, по истечении определенного интервала времени использования cookie-файловв браузере или нет. Если в браузере присутствуют файлы cookie, сеанс включен, в противном случае сеанс истек.

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