Ответ
Аутентификация — это процесс верификации подлинности субъекта (пользователя, системы или устройства), подтверждающий, что он действительно является тем, за кого себя выдает.
Основные методы аутентификации:
- Знание (Something you know): Пароль, PIN-код, секретный вопрос.
- Владение (Something you have): Физический токен (RSA SecurID), смарт-карта, мобильное устройство для получения SMS/кода из приложения.
- Свойство (Something you are): Биометрия (отпечаток пальца, сканирование лица, радужной оболочки глаза).
Многофакторная аутентификация (MFA) использует комбинацию методов из разных категорий для повышения безопасности (например, пароль + код из SMS).
Пример проверки аутентификации в тесте API (с использованием Bearer Token):
import requests
# 1. Получение токена (процесс аутентификации)
auth_response = requests.post('https://api.example.com/auth', json={'login': 'user', 'pass': '123'})
token = auth_response.json()['access_token']
# 2. Использование токена для доступа к защищенному ресурсу
headers = {'Authorization': f'Bearer {token}'}
api_response = requests.get('https://api.example.com/secure-data', headers=headers)
# Проверка сценариев:
# - Успех: status_code == 200 с валидным токеном.
# - Ошибка: status_code == 401 с невалидным/просроченным токеном.
# - Ошибка: status_code == 403 если токен валиден, но прав недостаточно (это уже авторизация).
Важное отличие:
- Аутентификация (Authentication): «Кто вы?» — проверка личности.
- Авторизация (Authorization): «Что вам разрешено?» — проверка прав доступа к ресурсам.