Ответ
OAuth 2.0 — это протокол авторизации, позволяющий приложениям получать ограниченный доступ к пользовательским данным на других сервисах без раскрытия пароля.
Ключевые компоненты:
- Resource Owner (пользователь)
- Client (приложение, запрашивающее доступ)
- Authorization Server (выдает токены)
- Resource Server (API, защищенное OAuth)
Типы потоков (Grant Types):
- Authorization Code (веб-приложения)
- Implicit (упрощенный, но менее безопасный)
- Client Credentials (для сервис-сервисной аутентификации)
- Password (редко используется, требует доверия)
Пример запроса Authorization Code:
GET /authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_URL&scope=read
После подтверждения пользователь перенаправляется с code, который обменивается на токен доступа.