OAuth – открытый стандарт делегирования доступа. Пользователь разрешает приложению действовать от своего имени в другом сервисе, а приложение получает токен доступа с ограниченными правами вместо логина и пароля. Актуальная версия – OAuth 2.0 (RFC 6749, 2012 год).
Участники и потоки
- Владелец ресурса (пользователь), клиент (приложение), сервер авторизации и сервер ресурсов (API).
- Authorization Code (с PKCE) – основной поток для веб- и мобильных приложений.
- Client Credentials – для взаимодействия «сервис – сервис» без пользователя.
- Токены доступа имеют срок жизни и области действия (scopes), для продления используются refresh-токены.
Где применяется
- Вход «через» внешний аккаунт и доступ сторонних приложений к API.
- Защита корпоративных API и микросервисов.
- Основа протокола аутентификации OpenID Connect.
Что важно при внедрении
- OAuth – протокол авторизации, а не аутентификации: для входа пользователей используют OpenID Connect.
- Использовать PKCE, короткоживущие токены и проверку redirect URI.
- Централизованный сервер авторизации в составе IAM или SSO-платформы.