Подтвердить что ты не робот

Базовая аутентификация HTTP через SSL для API REST

Я новичок в концепции Restful API.

Я создаю успокоительный api для интернет-магазина.

Я неправильно понял концепцию базовой HTTP-аутентификации через ssl.

Означает ли это, что для каждого запроса пользователю потребуется снова ввести свое имя пользователя и пароль?

Может кто-нибудь объяснить подробно, как он функционирует и как он должен использоваться?

Спасибо заранее.

4b9b3361

Ответ 1

Базовая аутентификация - это всего лишь стандартный HTTP-заголовок с пользователем и пароль, закодированный в base64:

Авторизация: Основной QWxhZGRpbjpvcGVuIHNlc2FtZQ ==

(http://en.wikipedia.org/wiki/Basic_access_authentication). Если вы аутентифицируете свои вызовы API для отдыха этим заголовком через не-ssl-коннект, проблема в том, что любой человек в середине может декодировать ваше имя пользователя и пароль из заголовка auth.

Чтобы убедиться, что ваш пароль отправлен надежно, вместо обычного HTTP-соединения вы должны использовать HTTPS. Единственная разница между HTTP и HTTPS заключается в том, что HTTPS использует протокол безопасности SSL/TSL через TCP/IP вместо обычного TCP/IP.

Теперь у этого есть недостаток, заключающийся в том, что установление HTTPS-соединения более дорогое по сравнению с обычным HTTP-соединением. Очень ясно, что если вы хотите аутентифицировать свой отдых, то каждый запрос с этим заголовком должен сделать ваш API для доступа только доступным для HTTPS-соединений.