Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: authentication, authorization, tokens, security

Как на фронтенде реализуется авторизация? (Хранение access/refresh токенов в Cookies / LocalStorage, отправка токена в запросах, обновление токена)

Вопрос проверяет понимание механизмов аутентификации и авторизации в клиентских приложениях.

Короткий ответ

Access token хранится в памяти или LocalStorage для доступа к API. Refresh token хранится в HttpOnly cookie для безопасного обновления. Токен автоматически добавляется в заголовки запросов и обновляется при истечении.

Длинный ответ

Схема работы:

  1. Пользователь вводит credentials

  2. Сервер возвращает access и refresh tokens

  3. Access token хранится в клиенте

  4. Refresh token хранится в HttpOnly cookie

  5. При истечении access token автоматически обновляется

Безопасное хранение:

  • Access token: localStorage или memory

  • Refresh token: HttpOnly cookie

  • Защита от CSRF и XSS атак

Автоматическое обновление:

// Интерцептор для axios
axios.interceptors.response.use(
  response => response,
  async error => {
    if (error.response.status === 401) {
      const newToken = await refreshToken();
      // Повтор запроса с новым токеном
    }
    return Promise.reject(error);
  }
);

Best practices:

  • Короткое время жизни access token

  • Secure и HttpOnly флаги для cookies

  • Валидация токенов на сервере

  • Защита от replay attacks

Уровень

  • Рейтинг:

    3

  • Сложность:

    8

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#authentication

#authorization

#tokens

#security

Подпишись на React Developer в телеграм