Auto | arch-x1: 2026-06-04 09:06:53
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
---
|
||||
title: OAuth 2.0
|
||||
status: seed
|
||||
type: concept
|
||||
tags: [web, security, oauth, authorization]
|
||||
created: 2026-06-04
|
||||
updated: 2026-06-04
|
||||
source: "[[00_базовые_понятия.pdf]]"
|
||||
aliases:
|
||||
- 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.
|
||||
|
||||
## Связи
|
||||
|
||||
- [[Веб-аутентификация и авторизация]]
|
||||
- [[HTTP, HTTPS и HTTP3]]
|
||||
Reference in New Issue
Block a user