Ответ
Нет, refresh token не нужно прикреплять к каждому запросу. Он используется только для обновления access token, когда тот истек. Access token отправляется с каждым запросом, а refresh token — только при запросе нового access token.
Пример:
// Получение нового access token с помощью refresh token
async function refreshToken() {
const response = await fetch('/refresh-token', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ refreshToken: storedRefreshToken }),
});
const { accessToken } = await response.json();
return accessToken;
}
Refresh token хранится безопасно (например, в httpOnly cookie) и используется редко, что снижает риск его компрометации.