Как лучше хранить токен JWT на стороне клиента? - PullRequest
0 голосов
/ 20 апреля 2020

В веб-приложении, что является лучшим способом хранения токена JWT для аутентификации и отправки его на сервер?

Насколько я понимаю, браузер может получать токен JWT с сервера 4 способами:

  1. Повар ie
  2. Повар только по HTTP ie
  3. Тело ответа
  4. другие "скрытые" HTML элементы

Я полагаю, что хранить его в простом элементе cook ie или «скрытых» HTML элементах далеко не лучшая практика, поэтому единственными оставшимися вариантами являются либо сохранение токена в HTTP-Only Cook ie и Response Body. .

Однако Cook-only HTTP ie не позволяет браузеру получить доступ к Cook ie, поэтому браузер не может отправить токен на сервер через заголовок запроса. Он может отправлять токен на сервер только через cook ie.

Кроме того, получение токена через тело ответа от сервера приводит к сохранению токена в переменной javascript на стороне клиента. Таким образом, пользователи должны будут входить в систему каждый раз, когда обновляют sh страницу.

Сказав выше, я действительно запутался в том, что было бы лучше:

  1. получают токен JWT для аутентификации с сервера и;

  2. «хранят» токен на стороне клиента и;

  3. отправить токен с клиента на сервер (через cook ie? Через заголовок req? Или оба?)?

Буду очень признателен, если вы поможете мне на текущей наилучшей практике в этом вопросе ... Посмотрев много видео и статей по этому вопросу в Интернете, кажется, многое изменилось в этом вопросе аутентификации за последние несколько лет ...

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