Получить доступ

Аутентификация и авторизация

Основа с Junior

Сессии и токены, JWT, OAuth 2.0 и OpenID Connect, роли и права доступа.

Что важно знать

  • Аутентификация — кто вы; авторизация — что вам можно.
  • Сессия на сервере + cookie или токен (JWT) у клиента; JWT нельзя отозвать до истечения — короткий срок и refresh-токен.
  • OAuth 2.0 — делегирование доступа; OpenID Connect — вход через внешнего провайдера (Яндекс ID, VK ID, корпоративный SSO).
  • Пароли — только медленным хешем с солью.
  • Проверка доступа к объекту: «пользователь видит только свои заказы» — частая уязвимость (IDOR), если проверяют лишь вход.
  • Роли (RBAC) и атрибуты (ABAC) для сложных правил.

Критерии освоения

Junior ≈ 6 ч

  • Объясняет разницу аутентификации и авторизации
  • Хранит пароли хешем bcrypt или Argon2 и реализует вход с сессией или токеном

Практика. Реализовать регистрацию и вход с хешированием паролей и защищённым эндпоинтом.

Middle ≈ 8 ч

  • Реализует JWT с коротким временем жизни и обновлением токена, объясняет компромиссы
  • Подключает вход через OAuth 2.0 и OpenID Connect
  • Проверяет права на уровне объекта, а не только эндпоинта

Практика. Добавить вход через внешнего провайдера по OIDC, обновление токенов и проверку владельца ресурса.

Senior ≈ 4 ч

  • Проектирует модель доступа (роли, атрибуты, владение) для системы с несколькими клиентами

Практика. Спроектировать модель прав для B2B-продукта с организациями, ролями и приглашениями и описать её в design doc.

Вопросы с собеседований

Разборы темы

← Вся карта «Backend-разработчик»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем