Вопрос проверяет понимание безопасности и архитектуры аутентификации, а именно различие между access и refresh токенами и их правильное использование.
В современных системах аутентификации используются два типа токенов: access token и refresh token. Access token — это короткоживущий токен (обычно 15-30 минут), который отправляется с каждым запросом к защищенным ресурсам. Refresh token — это долгоживущий токен (дни или недели), который используется только для получения нового access token, когда старый истекает.
// Клиент отправляет access token с каждым запросом
fetch('/api/data', {
headers: {
'Authorization': 'Bearer ' + accessToken
}
});
// Только при истечении access token клиент использует refresh token
async function refreshAccessToken() {
const response = await fetch('/api/auth/refresh', {
method: 'POST',
credentials: 'include', // httpOnly cookie с refresh token
});
const data = await response.json();
accessToken = data.accessToken;
}Refresh token следует использовать только для обновления access token, а не для аутентификации каждого запроса. Это повышает безопасность, снижает нагрузку на сервер и соответствует лучшим практикам проектирования систем аутентификации.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию