Проверяет понимание разницы между форматом токена (JWT) и протоколом делегированной авторизации (OAuth 2.0 / OIDC), что критично при проектировании аутентификации.
JWT и OAuth/OIDC часто путают, потому что они встречаются в одном контексте, но решают разные задачи. JWT — это просто формат токена: подписанный JSON с заголовком, полезной нагрузкой и подписью. OAuth 2.0 — это протокол делегирования доступа, а OIDC — надстройка над OAuth для аутентификации пользователя.
JWT (JSON Web Token) — самодостаточный токен, который содержит claims (например, userId, роль, срок жизни) и подписывается секретом или приватным ключом. Сервер может проверить подпись и доверять данным без обращения к БД.
// Пример payload JWT
{
"sub": "12345",
"role": "admin",
"exp": 1735689600
}
// Подпись проверяется на сервере секретом
OAuth 2.0 описывает, как приложение получает ограниченный доступ к ресурсам пользователя без передачи пароля. OIDC добавляет аутентификацию: клиент получает ID token (обычно JWT) с данными о пользователе и access token для вызова API.
На практике JWT и OAuth не конкуренты: OIDC-провайдеры выдают JWT как ID token и access token. Выбор делается по задаче: нужен ли вход через внешние сервисы и централизованное управление идентификацией.
Итог: JWT применяйте как формат токена для собственной аутентификации, а OAuth/OIDC — когда требуется делегированный вход, SSO или интеграция со сторонними identity-провайдерами.
Уровень
Рейтинг:
5
Сложность:
6
Навыки
JavaScript
Networks
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию