Встречается на собеседованиях • сегодня

Как реализуешь JWT авторизацию

Для реализации JWT авторизации на фронтенде:

  1. После успешного входа получаем токен от сервера:
javascript
const { token } = await login(username, password);
  1. Сохраняем токен:
javascript
localStorage.setItem('jwt', token);
  1. Добавляем токен в заголовки запросов:
javascript
axios.interceptors.request.use(config => {
  const token = localStorage.getItem('jwt');
  if (token) {
    config.headers.Authorization = `Bearer ${token}`;
  }
  return config;
});
  1. Проверяем срок действия токена (можно использовать библиотеку jwt-decode):
javascript
import jwtDecode from 'jwt-decode';

function isTokenValid(token) {
  const decoded = jwtDecode(token);
  return decoded.exp * 1000 > Date.now();
}
  1. При истечении срока - делаем логаут или запрашиваем новый токен через refreshToken.

Важно! Хранить токен только в localStorage или httpOnly куках (не в обычных куках из-за XSS). Для защиты от CSRF используйте дополнительные меры.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы