💻Access token и refresh token.

Время от времени сталкиваюсь в задачах авториазции.



Access token — токен, который нам нужно будет отправлять в шапке каждого запроса, для получения данных в ответ. короткоживущие, но многоразовые.

Refresh token — токен, который нам нужно будет отправлять, для получения нового токена доступа, когда истечет время жизни старого. долгоживущие, но одноразовые.

Логика access token и refresh token:

Пользователь логинится в приложении, передавая логин и пароль на сервер. Они не сохраняются на устройстве, а сервер возвращает два токена и время их жизни

Приложение сохраняет токены и использует access token для последующих запросов

Когда время жизни access token подходит к концу (приложение может само проверять время жизни, или дождаться пока во время очередного использования сервер ответит «ой, всё»), приложение использует refresh token, чтобы обновить оба токена и продолжить использовать новый access token.

Как получаем токен:

заново авторизовавшись, отправив логин и пароль на сервер.

Где храним токен: в sessionStorage

Когда обновляем токен: время жизни = время сессии, у нас за 10 сек до истечения сессии отправляется запрос на обновление токена



Статьи:

🔹Зачем нужен Refresh Token, если есть Access Token?

🔹Token, refresh token и создание асинхронной обертки для REST-запроса

🔹Добавляем Refresh Token