Использование Refesh Token в аутентификации на основе токенов защищено?
Я строю аутентификацию на основе токенов (Node.js использует passport / JWT с угловым клиентом).
После того, как пользователь вводит свои учетные данные, он получает токен доступа, который он отправляет в каждом запросе внутри заголовка (header: bearer TOKEN).
Я не хочу запрашивать логин каждый раз, когда истекает срок действия его токена доступа (о каждодневном, я думаю), я слышал оОбновить токены, Токен обновления никогда не истекает (или редко истекает) и может обновлять токены бесконечно. Когда срок действия маркера доступа скоро истечет, клиент может отправить запрос на обновление, чтобы получить новый токен доступа, отправив свой токен обновления.
Я ничего не понимаю, я могу что-то упустить:
Как долгоживущие / никогда не истекающие токены обновления не разрушают безопасность короткоживущих токенов доступа.
Печенье можно украсть и использовать до истечения срока его действия. Токены недолговечны, поэтому они более защищены, но если я предоставлю токен обновления с длительным сроком службы, я потеряю преимущество использования токенов.
ПРИМЕЧАНИЕ. Мне известно, что токены обновления отправляются при первоначальном входе в систему, поэтому не могут быть подделаны при каждом запросе, но если они подделываются при первоначальном запросе, они уязвимы.