61 lines
3.3 KiB
Markdown
61 lines
3.3 KiB
Markdown
---
|
|
title: Веб-аутентификация и авторизация
|
|
status: processing
|
|
type: concept
|
|
tags: [web, security, authentication, authorization, oauth]
|
|
created: 2026-06-04
|
|
updated: 2026-06-05
|
|
source: "[[00_базовые_понятия.pdf]]"
|
|
aliases:
|
|
- Идентификация, аутентификация и авторизация
|
|
- Веб-аутентификация
|
|
---
|
|
# Веб-аутентификация и авторизация
|
|
|
|
Идентификация, аутентификация и авторизация — разные этапы контроля доступа.
|
|
|
|
## Термины
|
|
|
|
- Идентификация — пользователь сообщает, кто он: логин, email, номер телефона, ID.
|
|
- Аутентификация — система проверяет, что пользователь действительно тот, за кого себя выдаёт: пароль, одноразовый код, ключ, сертификат.
|
|
- Авторизация — система решает, что уже аутентифицированному пользователю разрешено делать.
|
|
|
|
Коротко: идентификация отвечает на вопрос "кто ты?", аутентификация — "докажи", авторизация — "что тебе можно?".
|
|
|
|
## HTTP-аутентификация
|
|
|
|
Распространённые схемы:
|
|
|
|
- `Basic` — логин и пароль передаются как base64-строка. Base64 не является шифрованием, поэтому Basic нельзя использовать без HTTPS для чувствительных данных.
|
|
- `Digest` — схема с хешированием, исторически безопаснее Basic, но сейчас используется реже.
|
|
- `Bearer` — клиент передаёт токен, обычно в заголовке `Authorization`.
|
|
|
|
Пример Bearer:
|
|
|
|
```http
|
|
Authorization: Bearer eyJhbGciOi...
|
|
```
|
|
|
|
Bearer-токен даёт доступ тому, кто им владеет. Поэтому токены нужно хранить аккуратно, ограничивать срок их жизни и уметь отзывать.
|
|
|
|
## Простыми словами для экзамена
|
|
|
|
Три термина часто путают:
|
|
|
|
- идентификация — пользователь назвал себя: "я `ivan@example.com`";
|
|
- аутентификация — система проверила доказательство: пароль, код, ключ;
|
|
- авторизация — система решила, что этому пользователю можно: читать, создавать, удалять.
|
|
|
|
Пример:
|
|
|
|
1. Ввод логина — идентификация.
|
|
2. Проверка пароля — аутентификация.
|
|
3. Проверка роли `admin` перед удалением записи — авторизация.
|
|
|
|
HTTP сам по себе не помнит пользователя между запросами. Поэтому веб-приложения используют cookies, сессии или токены.
|
|
|
|
## Связи
|
|
|
|
- [[OAuth 2.0]]
|
|
- [[HTTP, HTTPS и HTTP3]]
|