#### Аутентификация и авторизация (OAuth, JWT, сессии)
(продолжение предыдущего поста)
##### Что такое аутентификация?
Аутентификация — это процесс проверки подлинности пользователя или системы. Она гарантирует, что человек или приложение, пытающиеся получить доступ к системе, действительно являются теми, за кого себя выдают.
→ Пример: Вход в систему с использованием имени пользователя и пароля.
##### Что такое авторизация?
Авторизация определяет, какие действия аутентифицированному пользователю разрешено выполнять в системе. Она устанавливает разрешения и уровни доступа.
→ Пример: Обычный пользователь может просматривать контент, в то время как администратор может добавлять или удалять контент.
##### OAuth (Open Authorization)
→ Стандартный протокол для аутентификации и авторизации на основе токенов.
→ Позволяет пользователям входить в систему через сторонних провайдеров, таких как Google, Facebook или GitHub.
→ Пример: Кнопка «Войти через Google» на веб-сайтах.
##### JWT (JSON Web Token)
→ Компактный и безопасный формат токенов, используемый для аутентификации.
→ Содержит закодированную информацию о пользователе и подписывается для обеспечения целостности.
→ Часто используется в аутентификации без сохранения состояния, когда сервер не хранит данные о сессии.
→ Пример: После входа в систему сервер выдаёт JWT, который клиент отправляет с каждым запросом.
##### Сессии
→ Метод, при котором сервер временно хранит данные аутентификации пользователя.
→ Идентификатор сессии сохраняется в браузере клиента (cookie) и сопоставляется с данными на стороне сервера.
→ Пример: Традиционные веб-приложения, где пользователь остаётся авторизованным до истечения сессии или до выхода из системы.
##### Ключевые различия
→ OAuth: Передаёт аутентификацию внешним провайдерам.
→ JWT: Аутентификация без сохранения состояния, токены хранятся на клиенте.
→ Сессии: Аутентификация с сохранением состояния, данные хранятся на сервере.
Post #2222
1.7K