Встречается на собеседованиях • сегодня
Как реализовывал Token Refresh
Для реализации Token Refresh обычно используется следующий подход:
- При получении 401 ошибки от API:
javascript
axios.interceptors.response.use(
response => response,
async (error) => {
if (error.response.status === 401) {
const newToken = await refreshToken();
error.config.headers.Authorization = `Bearer ${newToken}`;
return axios(error.config);
}
return Promise.reject(error);
}
);- Функция refreshToken делает запрос на специальный эндпоинт:
javascript
async function refreshToken() {
const response = await axios.post('/refresh', {
refreshToken: localStorage.getItem('refreshToken')
});
localStorage.setItem('accessToken', response.data.accessToken);
return response.data.accessToken;
}Важные моменты:
- Refresh token хранится в httpOnly cookie или secure storage
- Добавляется очередь запросов на случай параллельных 401 ошибок
- После неудачного refresh - делаем logout
- Access token имеет короткое время жизни (15-30 мин), refresh - долгое (недели)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы