Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 843

OAuth 2.0

ПроверилCybersecurity entrepreneur & security researcher

Что такое OAuth 2.0?

OAuth 2.0Открытый фреймворк авторизации, позволяющий владельцу ресурса предоставлять стороннему приложению ограниченный и регулируемый доступ к API без передачи учётных данных.


OAuth 2.0 (RFC 6749) разделяет четыре роли: владелец ресурса (пользователь), клиент (приложение), сервер авторизации, выдающий токены, и сервер ресурсов, на котором размещён API. Клиент получает access token по одному из определённых потоков (grant) — authorization code с PKCE (RFC 7636) для интерактивных приложений, client credentials для вызовов между сервисами, device code (RFC 8628) для устройств с ограниченным вводом — и затем вызывает API, передавая этот токен как bearer-учётные данные. Области (scopes) и audience ограничивают возможности токена.

Рекомендации по безопасности и подводные камни

RFC 9700 (BCP 240, опубликован в январе 2025 года) обобщает практику безопасности OAuth: он объявляет устаревшими implicit grant и resource owner password credentials grant, делает PKCE обязательным для каждого клиента с authorization code и требует точного совпадения redirect URI, чтобы пресечь атаки перехвата кода и open redirect. Поскольку access token — это bearer-учётные данные, привязка их к отправителю с помощью DPoP или взаимного TLS ограничивает повторное использование (replay) после кражи.

Наиболее распространённое злоупотребление на практике — фишинг согласия OAuth (illicit consent grant): вместо кражи паролей злоумышленники регистрируют вредоносное приложение и обманом побуждают пользователей одобрить широкие области. Червь «Google Docs» в мае 2017 года распространился именно так примерно за час, а APT29/Nobelium неоднократно злоупотребляли согласиями Microsoft 365, чтобы сохранять доступ в обход MFA. К мерам защиты относятся рабочие процессы административного согласия, верификация издателя, короткоживущие токены и отзыв неиспользуемых согласий.

flowchart LR
  U[Владелец ресурса] -->|1 авторизация + code_challenge| AS[Сервер авторизации]
  AS -->|2 auth-код через redirect| C[Клиентское приложение]
  C -->|3 код + code_verifier| AS
  AS -->|4 access token| C
  C -->|5 bearer-токен| RS[Сервер ресурсов / API]
  RS -->|6 защищённые данные| C

● Примеры

  1. 01

    Мобильное приложение получает access token по authorization code + PKCE и вызывает банковский API.

  2. 02

    Бэкенд-сервис использует client credentials, чтобы публиковать события во внешнем API.

● Частые вопросы

Что такое OAuth 2.0?

Открытый фреймворк авторизации, позволяющий владельцу ресурса предоставлять стороннему приложению ограниченный и регулируемый доступ к API без передачи учётных данных. Относится к категории Идентификация и доступ в кибербезопасности.

Что означает OAuth 2.0?

Открытый фреймворк авторизации, позволяющий владельцу ресурса предоставлять стороннему приложению ограниченный и регулируемый доступ к API без передачи учётных данных.

Как защититься от OAuth 2.0?

Защита от OAuth 2.0 обычно сочетает технические меры и операционные практики, как описано в определении выше.

Какие есть другие названия OAuth 2.0?

Распространённые альтернативные названия: OAuth2.

● Связанные термины

● См. также