Встречается на собеседованиях • сегодня
Как сделать отправление refresh токена только на запрос от refresh cookie
Для этого можно использовать флаг httpOnly и secure для refresh токена в куках, чтобы он не был доступен через JavaScript. При этом access токен отправляется в заголовке запроса.
Пример реализации на Express.js:
javascript
// Установка refresh токена в куки
res.cookie('refreshToken', refreshToken, {
httpOnly: true,
secure: true, // Только для HTTPS
sameSite: 'strict', // Защита от CSRF
maxAge: 30 * 24 * 60 * 60 * 1000 // 30 дней
});
// Проверка refresh токена из куки при запросе на /refresh
app.post('/refresh', (req, res) => {
const refreshToken = req.cookies.refreshToken;
if (!refreshToken) return res.sendStatus(401);
// Проверка токена и выдача нового access токена
jwt.verify(refreshToken, process.env.REFRESH_SECRET, (err, user) => {
if (err) return res.sendStatus(403);
const newAccessToken = generateAccessToken(user);
res.json({ accessToken: newAccessToken });
});
});
text
Таким образом, refresh токен доступен только серверу через куки, а клиент получает новый access токен в ответе.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы