JWT, как не отправлять refresh token в куках?

Для начала - я экстремально новичок, обучаюсь js и node.js. Сейчас пытаюсь разобраться с JWT для авторизации. Дошел до следующей схемы, используя node.js, express:

  1. Пользователь попадает на тестовую страницу /index.
  2. В форме логининга вводит логин и пароль.
  3. Сервер проверяет данные, генерирует access и refresh токены. Сервер записывает их (токены) пользователю в httpOnly куки (!).
  4. Сервер видит в куках пользователя access-токен и разрешает доступ к закрытым разделам. Видит он их в http запросах от клиента (передаются по умолчанию). До этого момента все работает и все понятно. Далее гугл перестал помогать, нужна помощь)

Я не могу понять теоретическую часть касательно refresh-токена при хранении его в куках на клиентской стороне. Сейчас в КАЖДОМ запросе клиента на сервер передаются все куки клиента , и именно так сервер понимает, что у пользователя есть\нет валидный access-токен. Refresh-токен тоже приходит при каждом запросе. Но на сколько я смог начитать, корректное использование refresh-токена — не светить его до тех пор, пока не появляется такая нужда (устаревание access-токена). Если он идёт в паре с access в запросе, то перехват одного автоматически означает перехват и второго. Тогда какой смысл в refresh'е? Где я ошибаюсь? Как можно решить эту задачу, сохранив httpOnly-куки местом хранения токенов?


Ответы (0 шт):