Зачем OAuth?
До OAuth: чтобы дать приложению доступ к вашим данным в другом сервисе, нужно было передать пароль. OAuth решает: приложение получает ограниченный токен, а пароль остаётся только у владельца сервиса.
Роли в OAuth
- Resource Owner — владелец данных (пользователь)
- Client — приложение, запрашивающее доступ
- Authorization Server — выдаёт токены (Google, VK, Яндекс)
- Resource Server — хранит данные пользователя
Основные потоки (grant types)
- Authorization Code — для веб-приложений с backend
- Implicit — для SPA (устарел, используйте PKCE)
- Resource Owner Password — только для доверенных клиентов
- Client Credentials — для machine-to-machine
- Device Flow — для устройств без клавиатуры (TV, IoT)
