Почему я должен использовать базовую аутентификацию HTTP вместо параметров имени пользователя и пароля?

у меня есть конечная точка API который принимает имя пользователя и пароль в качестве входных данных и возвращает токен аутентификации.

Что касается передачи имени пользователя и пароля, у меня есть два варианта (как минимум), а именно:

  1. Базовая аутентификация HTTP (которая передает учетные данные как часть заголовков HTTP)
  2. параметры HTTP POST

Я понимаю, что ни один из методов не обеспечивает шифрование (отсюда и использование HTTPS /SSL). Я также понимаю, почему использование HTTP GET - плохая идея.

Есть ли реальная разница (кроме того факта, что базовая аутентификация кажется более идиоматичной) между этими двумя методами?

10 голосов | спросил Frank 15 22011vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2011 00:29:06 +0400 2011, 00:29:06

1 ответ


0

Различие состоит в том, что базовая аутентификация - это четко определенная схема запроса /ответа, которую понимают все браузеры, и именно сервер запускает ее, сообщая клиенту, что для области требуется (базовая) аутентификация. Это заставляет браузер показывать пользователю всплывающее окно для ввода имени /пароля, которые затем передаются в заголовках, как вы описали.

Во втором примере вы должны сделать все это по своему усмотрению и создать собственную форму входа для пользователя (и т. д.).

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

ответил Eddy 15 22011vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2011 00:57:01 +0400 2011, 00:57:01

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132