Аутентификация vs Авторизация¶
Аутентификация (Authentication)¶
Подтверждение личности пользователя.
-
Вопрос: “Кто ты?”
-
Примеры: логин + пароль, токен, отпечаток пальца
-
Выполняется перед доступом к системе
Если пользователь успешно аутентифицирован, система знает, кто он такой.
Авторизация (Authorization)¶
Определение, что пользователь может делать после подтверждения личности.
-
Вопрос: “Что тебе разрешено?”
-
Примеры: доступ к API, ролям, действиям, функциям
-
Выполняется после аутентификации
Даже если пользователь аутентифицирован, у него может не быть прав на выполнение определённых действий.
Различия¶
| Критерий | Аутентификация | Авторизация |
|---|---|---|
| Цель | Подтвердить личность | Проверить права |
| Когда применяется | Перед авторизацией | После успешной аутентификации |
| Вовлечённые данные | Логин, пароль, токен | Роли, права, ACL, политики доступа |
| Пример | Вход по логину и паролю | Доступ только к своим заказам |
Base64¶
Base64 — это формат кодирования, часто используемый при аутентификации.
Примеры использования:¶
Basic Authentication¶
HTTP заголовок содержит:
Authorization: Basic <base64(login:password)>
- Пример:
Authorization: Basic YWRtaW46cGFzc3dvcmQ=
(где YWRtaW46cGFzc3dvcmQ= = admin:password)
Warning
Это небезопасно, если не используется HTTPS — Base64 не шифрует, а просто кодирует!
JWT (JSON Web Token)¶
В JWT заголовок и полезная нагрузка кодируются через Base64Url.
<base64(header)>.<base64(payload)>.<signature>
Вывод¶
-
🔐 Аутентификация — это “вы входите”.
-
🛂 Авторизация — это “вам что-то разрешено”.
-
🧾 Base64 используется в протоколах передачи данных, но не является способом защиты.