3.3 KiB
title, status, type, tags, created, updated, source, aliases
| title | status | type | tags | created | updated | source | aliases | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OAuth 2.0 | processing | concept |
|
2026-06-04 | 2026-06-05 | 00_базовые_понятия.pdf |
|
OAuth 2.0
OAuth 2.0 — протокол авторизации, который позволяет приложению получить ограниченный доступ к ресурсам пользователя на другом сервисе без передачи пароля пользователя этому приложению.
Где встречается
- вход на сайт через Google, GitHub, VK или другую внешнюю учётную запись;
- мобильное приложение получает доступ к данным в облаке;
- бот или интеграция получает доступ к API сервиса.
Главная идея
Пользователь подтверждает доступ на стороне сервиса-владельца данных. Клиентское приложение получает токен и использует его для запросов к API.
Пароль пользователя при этом остаётся у сервиса-источника, а стороннее приложение получает только ограниченное разрешение.
Участники
- Resource Owner — владелец ресурса, обычно пользователь.
- Client — приложение, которому нужен доступ.
- Authorization Server — сервер, который выдаёт токены.
- Resource Server — API, который принимает токен и отдаёт защищённые данные.
Токены
- Access token — используется для доступа к API.
- Refresh token — используется для получения нового access token без повторного входа пользователя.
- Scope — набор разрешений, ограничивающий действия клиента.
OAuth 2.0 — про авторизацию. Сам по себе он не обязан доказывать личность пользователя как протокол аутентификации; для входа поверх OAuth обычно используют OpenID Connect.
Простыми словами для экзамена
OAuth 2.0 нужен, чтобы не отдавать пароль стороннему приложению.
Пример: сайт просит "войти через GitHub".
- Сайт перенаправляет пользователя на GitHub.
- Пользователь подтверждает доступ на GitHub.
- GitHub возвращает сайту код авторизации.
- Сайт меняет код на access token.
- Сайт ходит в API GitHub с этим токеном.
Токен можно ограничить по сроку и правам (scope). Это безопаснее, чем дать приложению пароль от аккаунта.
Связи
- Веб-аутентификация и авторизация
- HTTP, HTTPS и HTTP3