Ответ
Аутентификация — это проверка личности пользователя, подтверждение того, что он тот, за кого себя выдает. Авторизация — это проверка прав доступа к конкретным ресурсам или действиям после успешной аутентификации.
Простыми словами:
- Аутентификация: «Кто ты?» (логин/пароль, токен, отпечаток пальца).
- Авторизация: «Что тебе разрешено делать?» (роли, права, ACL).
С точки зрения тестировщика:
- Тестирование аутентификации:
- Проверка корректности работы с учетными данными (правильный/неправильный пароль, блокировка после N попыток, восстановление доступа).
- Тестирование альтернативных методов (OAuth, биометрия, одноразовые коды).
- Проверка на уязвимости (перебор паролей, SQL-инъекция в форму входа).
- Тестирование авторизации:
- Проверка вертикального контроля доступа: Может ли обычный пользователь получить доступ к функциям администратора (например, через прямой URL
/admin/panel)? - Проверка горизонтального контроля доступа: Может ли пользователь A получить доступ к данным пользователя B (например, изменив ID в запросе
GET /orders/123наGET /orders/456)? - Тестирование ролевой модели (RBAC): соответствуют ли права каждой роли заявленным в требованиях.
- Проверка вертикального контроля доступа: Может ли обычный пользователь получить доступ к функциям администратора (например, через прямой URL
Пример тест-кейса:
- Аутентифицируйтесь как пользователь с ролью
USER. - Попробуйте отправить
POST-запрос на эндпоинт/api/v1/users/delete, предназначенный только для ролиADMIN. - Ожидаемый результат: Должен вернуться ответ
403 Forbidden(или401 Unauthorized), а действие не должно быть выполнено. Успешное выполнение — критическая уязвимость.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶