Files
SecondBrain/90 Library/Networking/OAuth 2.0.md
T
2026-06-05 13:24:10 +03:00

3.3 KiB

title, status, type, tags, created, updated, source, aliases
title status type tags created updated source aliases
OAuth 2.0 processing concept
web
security
oauth
authorization
2026-06-04 2026-06-05 00_базовые_понятия.pdf
OAuth 2
OAuth 2.0

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".

  1. Сайт перенаправляет пользователя на GitHub.
  2. Пользователь подтверждает доступ на GitHub.
  3. GitHub возвращает сайту код авторизации.
  4. Сайт меняет код на access token.
  5. Сайт ходит в API GitHub с этим токеном.

Токен можно ограничить по сроку и правам (scope). Это безопаснее, чем дать приложению пароль от аккаунта.

Связи

  • Веб-аутентификация и авторизация
  • HTTP, HTTPS и HTTP3