Описание

OAuth (Open Authorization)

OAuth — это открытый протокол авторизации, позволяющий приложениям получать ограниченный доступ к ресурсам пользователя без передачи пароля, используя токены.

OAuth разработан в 2006-2007 годах для замены небезопасных методов аутентификации в веб-приложениях, чтобы упростить интеграцию сервисов вроде соцсетей и избежать хранения credentials.

Преимущества OAuth

  • Повышает безопасность, не раскрывая credentials, и стандартизирует доступ.

  • Поддерживает scopes для гранулярного контроля прав.

Недостатки OAuth

  • Сложен в реализации и уязвим к атакам, если не настроен правильно (e.g., token hijacking).

  • Требует HTTPS для защиты токенов.

Технические термины

  • Access Token: Короткоживущий токен для доступа к API.

  • Refresh Token: Долгоживущий токен для обновления access token.

  • Authorization Code Flow: Безопасный поток для веб-приложений.

  • Client Credentials Flow: Для machine-to-machine авторизации.

  • PKCE (Proof Key for Code Exchange): Защита от interception в mobile apps.

Уровень OSI и связанные технологии

OAuth работает на уровне 7 (Прикладной) модели OSI, интегрируясь с HTTP/HTTPS. Не затрагивает нижние уровни напрямую. Связанные технологии: OpenID Connect (OIDC) для аутентификации поверх OAuth; JWT (JSON Web Tokens) для формата токенов; SAML для enterprise; интегрируется с API как Google OAuth или Facebook Login.

В IT OAuth используется для входа через Google в мобильные apps, например, в Spotify для интеграции с Facebook, или в API GitHub для авторизованного доступа к репозиториям без полного логина, обеспечивая SSO (Single Sign-On).

Последнее обновление