Аутентификация

Authentication

Аутентификация — это процесс проверки подлинности учетных данных пользователя, таких как имя пользователя и пароль, для подтверждения того, что пользователь является тем, за кого себя выдает. Аутентификация позволяет защитить данные от несанкционированного доступа.

Наиболее распространены методы аутентификации при помощи:

  • логина и пароля
  • биометрических данных (отпечаток пальцев, распознавание лица)
  • токенов и сертификатов
Cat's paw phone biometry

Как обеспечить безопасность?

Со стороны пользователя

Надежный пароль: рекомендуется использовать комбинацию букв, цифр и символов

Обновление паролей: изменение паролей хотя бы раз в несколько месяцев

Обновление ПО: своевременная установка обновлений, исправляющих уязвимости

Со стороны приложения

Мультифакторная аутентификация: дополнительные проверки, например, отправка кода на телефон

Хранение паролей: использование надёжных алгоритмов шифрования данных

Обновление ПО: своевременная установка обновлений, исправляющих уязвимости

Как происходит HTTP-запрос на аутентификацию?

Когда мы заполняем логин/пароль и нажимаем на кнопку «Войти», отправляется HTTP-запрос, например

HTTP метод POST
URL адрес https://tester-today.com/login
Заголовок Content-Type: application/json
Тело запроса { "username": "login", "password": "pass" }

При успешной аутентификации сервер отправляет HTTP-ответ с кодом  200 OK

Если данные, отправленные клиентом отличаются от данных, хранящихся на сервере — в ответе клиент получит информацию об ошибке и HTTP-ответ с кодом  401 Unauthorized

Почему нельзя использовать GET запрос при аутентификации?

При использовании метода GET данные обычно передают прямо в адресной строке.

🔒 https://www.example.com/login?username=login&password=pass

Такой формат передачи может привести к утечке из-за:

  • отображения данных пользователя в адресной строке браузера
  • пользователь может создать закладку, что приведет к сохранению данных
  • браузер может кэшировать (временно сохранять) страницы, запрашиваемые с методом GET
  • браузер сохраняет историю запросов, в которой доступен просмотр запрашиваемых URL

Для передачи логина и пароля рекомендуется использовать HTTP-метод POST.

Заголовок Authorization

Помимо аутентификации через форму, при которой данные передаются в теле запроса, данные могут передаваться в HTTP-заголовке Authorization. Часто это происходит незаметно для пользователя — клиентская библиотека делает всё автоматически.

Заголовок Authorization поддерживает разные схемы аутентификации:

Bearer

Клиент получает токен после входа в систему и передаёт его с каждым запросом.

Authorization: Bearer <токен>

Basic

Логин и пароль кодируются в формате Base64. Данные можно легко декодировать.

Authorization: Basic YWRtaW46cGFzc3dvcmQ=

API Key

Клиент передаёт уникальный ключ. Может передаваться в любом заголовке или как параметр запроса.

X-API-Key: 123456789abcdef
Задача
Задача доступна премиум пользователям!
Sidebar arrow

ВВЕДЕНИЕ

БАЗОВЫЕ ЗНАНИЯ

УРОВНИ ТЕСТИРОВАНИЯ

UI ТЕСТИРОВАНИЕ

ТЕХНИКИ ТЕСТ ДИЗАЙНА

ТЕСТОВАЯ ДОКУМЕНТАЦИЯ

АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ

POSTMAN

БАЗЫ ДАННЫХ

ТЕСТИРОВАНИЕ РЕЛИЗА

АНАЛИЗ РАБОТЫ ПРИЛОЖЕНИЯ

ПОДГОТОВКА К СОБЕСЕДОВАНИЮ

Как составить резюме Топ вопросов Тест Собеседование