Что такое OAuth?
OAuth (Open Authorization) — открытый протокол делегирования доступа, который позволяет одному приложению получить ограниченный доступ к данным пользователя в другом сервисе, не запрашивая его пароль.
OAuth расшифровывается как Open Authorization, то есть «открытая авторизация»: вы не отдаёте пароль, а выдаёте приложению ограниченный пропуск на конкретные действия. Для бизнеса это возможность без опаски подключать внешние сервисы — CRM, аналитику, рекламные кабинеты, подрядчиков — и при этом не раздавать доступы к аккаунтам. Именно на OAuth построены кнопки «Войти через Яндекс», интеграции с Search Console и Яндекс Вебмастером и большинство подключений к API.
Как работает OAuth: четыре роли и обмен токенами
Протокол описывает четыре стороны: владелец ресурса (пользователь), клиент (приложение, которому нужен доступ), сервер авторизации и сервер ресурсов (хранит данные). Пользователь не передаёт пароль клиенту — он подтверждает согласие на стороне сервера авторизации.
Классический сценарий — Authorization Code с расширением PKCE:
- Клиент отправляет пользователя на страницу согласия, указав запрашиваемые scopes (например, «чтение статистики сайта»).
- Пользователь входит и подтверждает доступ.
- Сервис возвращает клиенту одноразовый код авторизации на заранее зарегистрированный URL возврата.
- Клиент меняет код на access token — короткоживущий ключ доступа — и, как правило, на refresh token для его продления.
- Дальше клиент обращается к API, передавая токен в HTTP-заголовке Authorization.
Ключевая идея: доступ ограничен по объёму (scopes) и по времени, а пользователь может отозвать его в любой момент. Все обмены токенами идут только по защищённому HTTPS — иначе ключи доступа утекут при перехвате трафика.
Зачем OAuth нужен бизнесу
Первый и самый заметный сценарий — регистрация и вход. Кнопка «Войти через Google / Яндекс / VK» убирает барьер там, где теряется больше всего пользователей: не нужно придумывать пароль и ждать письмо. Это напрямую влияет на конверсию форм и на число заявок, доходящих до CRM.
Второй сценарий — интеграции. OAuth позволяет связать сайт с внешними сервисами без хранения чужих паролей:
- подключение Search Console и Яндекс Вебмастера для сбора запросов и ошибок индексации;
- доступ к рекламным кабинетам для автоотчётов по бюджету и ставкам;
- синхронизация с CRM, сервисами рассылок, аналитикой и складом;
- работа с подрядчиками: агентство получает доступ к данным, а владелец в любой момент отзывает его одной кнопкой.
Третий сценарий, всё более важный в 2026 году, — программные агенты и внутренние инструменты, которые ходят в API за данными: OAuth даёт им ровно нужный объём прав.
Типичные ошибки при внедрении
- Хранение токенов в localStorage — любой XSS-скрипт забирает access и refresh token; для веб-клиента безопаснее серверная сессия и httpOnly-cookie.
- Незакрытый redirect_uri — если сервер принимает любой адрес возврата, злоумышленник подставит свой и получит код авторизации.
- Отсутствие параметра state — без случайного значения не проверить, что ответ пришёл на запрос именно этого пользователя.
- Слишком широкие scopes — запрос «доступа ко всему аккаунту» отпугивает пользователей и увеличивает ущерб при утечке.
- Устаревшие потоки — implicit и password grant в новых проектах использовать нельзя: они признаны небезопасными.
- Нет сценария отзыва — пользователь должен видеть подключённые приложения и уметь отключить любое из них.
Чем OAuth отличается от OpenID Connect и что изменилось к 2026 году
OAuth отвечает на вопрос «что приложению разрешено делать», а OpenID Connect (OIDC) — надстройка над ним — на вопрос «кто этот пользователь». OIDC добавляет id_token с данными о человеке, и именно его используют кнопки «Войти через…». Нужны только права на данные — хватит OAuth; нужен профиль и единый вход — берите OIDC.
К 2026 году требования к безопасности подтянулись: OAuth 2.1 фактически делает PKCE обязательным, убирает implicit и password-потоки и требует точного совпадения redirect_uri. Растут требования к явному согласию и журналированию доступов — особенно там, где речь о персональных данных. Параллельно ИИ-агенты получают доступ к сервисам через те же OAuth-разрешения — с узкими scopes и коротким сроком жизни токена.
Коротко
OAuth — способ дать приложению ограниченный и отзываемый доступ к данным без передачи пароля. Для бизнеса он снижает барьер входа, упрощает интеграции с Search Console, рекламой и CRM и уменьшает риски при работе с подрядчиками. Безопасная реализация в 2026 году — это Authorization Code с PKCE, HTTPS, узкие scopes и понятный экран управления доступами.