Основные роли
- Resource Owner — пользователь, владелец данных
- Client — ваше приложение, запрашивающее доступ
- Authorization Server — сервер (Google, GitHub), выдающий токены
- Resource Server — API, хранящее данные пользователя
Flows (Grant Types)
- Authorization Code + PKCE — наиболее безопасный; для веб и мобильных приложений
- Client Credentials — для машинного взаимодействия (без участия пользователя)
- Implicit — устаревший, не рекомендуется
OAuth vs OpenID Connect
OAuth 2.0 даёт авторизацию (доступ к ресурсу). OpenID Connect (OIDC) — надстройка над OAuth, добавляющая аутентификацию (кто ты). OIDC возвращает ID Token (JWT) с данными пользователя.