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

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

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

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

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

authentication

Как обеспечить безопасность?
Со стороны пользователя
  • Надежный пароль: рекомендуется использовать комбинацию букв, цифр и символов
  • Обновление паролей: рекомендуется менять пароли хотя бы раз в несколько месяцев.
  • Обновление ПО: своевременная установка обновлений программного обеспечения, исправляющих уязвимости
Со стороны приложения
  • Мультифакторная аутентификация
  • Хранение паролей: использование надёжных алгоритмов шифрования данных при хранении паролей.
  • Обновление ПО: своевременная установка обновлений программного обеспечения, исправляющих уязвимости

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

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

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

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


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

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

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

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