𝕯𝖆𝖗𝖐🥰𝕬𝖓𝖌𝖊𝖑
МОДЕРАТОР
- Регистрация
- 7 Апр 2025
- Сообщения
- 10,778
- Реакции
- 81
Автор: Евгений Паромов
Название: Аутентификация: access token, refresh token

Продолжительность: 3 ч 50 мин
Количество уроков: 1 Видео
Язык: Русский
Вес архива: 80 КБ
В этом материале мы расширяем и углубляем темы курса, чтобы дать более структурированное и практичное понимание процессов аутентификации, работы с access и refresh токенами, а также настройки безопасной среды для клиент‑серверного взаимодействия. Текст можно использовать как основную статью курса или как методическое дополнение.
Что такое токены и как они применяются в веб‑аутентификации
Токены — это ключи доступа, которые позволяют пользователю выполнять запросы к защищённым ресурсам без постоянной передачи логина и пароля.
Access token
Краткоживущий токен, позволяющий направлять авторизованные запросы к API. Основная задача — минимизировать риск компрометации.
Refresh token
Долгоживущий токен, применяемый для безопасного обновления access token. Часто хранится в более защищённой среде.
JWT: преимущества, ограничения и практические рекомендации
JSON Web Token (JWT) — популярный формат токена, позволяющий хранить полезную нагрузку внутри себя.
Преимущества JWT
• Самодостаточность: вся необходимая информация содержится в токене.
• Широкая поддержка серверных и клиентских технологий.
• Высокая скорость проверки подписи на сервере.
Недостатки JWT
• Невозможность отзыва без отдельного механизма чёрного списка.
• Переполнение полезной нагрузки может снизить производительность.
• Повышенный риск компрометации при неправильном хранении.
Организация механизма обновления токенов
Правильная работа с refresh token — ключ к безопасности и удобству пользователей.
Алгоритм обновления access token
• Клиент обнаруживает истечение access token (ошибка 401 или собственная проверка).
• Отправляет запрос на обновление, передавая refresh token.
• Получает новый access token (и при необходимости новый refresh token).
• Повторяет исходный запрос после обновления.
Обработка состояния гонки при обновлении токена
Состояние гонки возникает, когда несколько запросов одновременно пытаются обновить токен. Актуально для SPA и мобильных приложений.
Рекомендации
• Использовать очередь запросов на обновление.
• Запоминать обещание обновления токена и возвращать его повторно при повторных запросах.
• Блокировать повторные попытки обновления до завершения текущей операции.
Где хранить токены: cookies или localStorage
Хранение токенов — наиболее критичный аспект безопасности фронтенда.
Хранение в cookies
• Поддержка httpOnly повышает защиту от XSS.
• Возможна автоматическая передача токенов браузером.
• Нужна настройка SameSite и Secure.
Хранение в localStorage
• Простота доступа со стороны JavaScript.
• Удобно при кастомной логике работы токенов.
• Менее безопасно из‑за опасности XSS.
Безопасные настройки куков для продакшена
Настройка куков — обязательный этап повышения уровня безопасности приложения.
Ключевые параметры
• httpOnly — блокирует доступ к кукам из JavaScript.
• secure — передача только по HTTPS.
• sameSite — защита от CSRF; значения Lax, Strict, None.
• domain и path — ограничивают доступность кука.
Работа с CORS и SameSite
При организации аутентификации между фронтендом и API на разных доменах важно учитывать влияние CORS и настроек куков.
Распространённые проблемы
• Некорректный заголовок Access-Control-Allow-Credentials.
• Отсутствие Access-Control-Allow-Origin (или использование * при credentials=true).
• Куки блокируются браузером из‑за SameSite=None без secure.
Решения
• Настроить CORS для конкретного домена фронтенда.
• Использовать SameSite=None и secure для междоменной аутентификации.
• Корректно обрабатывать preflight-запросы.
Обработка ошибок авторизации
Ошибки аутентификации должны быть мягкими, предсказуемыми и безопасными.
Ключевые сценарии
• Истёкший access token — триггер обновления.
• Истёкший refresh token — выход пользователя и запрос повторной авторизации.
• Неверный токен — очистка хранилища и защита от атак.
Итог: как построить безопасную и надёжную систему аутентификации
Чтобы добиться устойчивой и безопасной аутентификации, важно комплексно сочетать грамотную работу токенов, корректную настройку куков, защиту от XSS/CSRF и продуманную обработку ошибок. Освоив эти подходы, вы сможете проектировать доверенные системы, адаптируемые к реальным условиям продакшена.
СКАЧАТЬ:
 📥 Скрытое содержимое! Войдите или Зарегистрируйтесь