Какие плюсы и минусы авторизации OAuth 2.0?
DOM и браузер
Плюсы OAuth 2.0: вход без передачи пароля приложению, делегированный доступ, удобный онбординг. Минусы: сложность реализации, зависимость от провайдера, риски при неверной настройке.
Плюсы
- Без пароля приложению — пользователь не даёт свой пароль стороннему приложению, только выдаёт токен.
- Делегированный доступ — приложение получает ограниченный доступ к ресурсам (scope) на другом сервисе.
- Удобный онбординг — «войти через Google/GitHub», без регистрации.
- Стандарт — широкая поддержка, готовые библиотеки.
- Отзыв доступа — пользователь может отозвать разрешение.
- Разделение ответственности — аутентификацию делает провайдер.
Минусы
- Сложность — много ролей, потоков (flows), токенов; сложнее простого логина.
- Зависимость от провайдера — если провайдер недоступен/меняет API — проблемы; вендор-лок.
- Риски при неверной настройке — открытые redirect, утечки токенов, неправильный flow (для SPA нужен Authorization Code + PKCE).
- OAuth ≠ аутентификация — это авторизация; для «кто пользователь» нужен OpenID Connect поверх.
- Приватность — провайдер знает, куда входит пользователь.
Когда применять
- Вход через соцсети, доступ к чужим API → да.
- Простое внутреннее приложение без интеграций → своя авторизация проще.
Коротко для собеседования
Плюсы OAuth 2.0: вход без передачи пароля приложению, делегированный доступ (scope), удобный онбординг («войти через X»), стандарт, отзыв доступа. Минусы: сложность (потоки, токены), зависимость от провайдера (вендор-лок), риски неверной настройки (для SPA — Authorization Code + PKCE), OAuth — авторизация, не аутентификация (нужен OIDC). Для входа через соцсети — да.