Sobes.tech
Junior

Какво е базова автентикация?

sobes.tech AI

Отговор от AI

Базова автентикация — това е метод за HTTP автентикация, при който клиентът изпраща потребителското име и паролата си в кодирана форма в заглавката на HTTP заявката.

Механизъм на работа:

  1. Клиентът изпраща заявка към защитен ресурс без данни за вход.
  2. Сървърът отговаря с код за състояние 401 Unauthorized и заглавка WWW-Authenticate: Basic realm="[realm]", където [realm] е описание на областта за достъп.
  3. След получаване на отговора 401 и заглавката WWW-Authenticate, клиентът предлага на потребителя да въведе потребителско име и парола.
  4. Клиентът кодира данните за вход във формат base64: base64(потребител:парола).
  5. Клиентът изпраща повторно заявката към сървъра с заглавка Authorization: Basic <кодирани_данни>.
  6. Сървърът декодира данните за вход, ги проверява и, ако са верни, предоставя достъп до ресурса.

Формат на заглавката Authorization:

Authorization: Basic <base64(потребител:парола)>

Пример:

Authorization: Basic c29tZXVzZXI6c29tZXBhc3N3b3Jk

Където c29tZXVzZXI6c29tZXBhc3N3b3Jk е base64-кодираната низ someuser:somepassword.

Характеристики:

  • Лесна за реализиране: Лесно се настройва както от страна на клиента, така и от страна на сървъра.
  • Несигурна: Данните за вход се предават в лесно декодируем формат (base64 е кодиране, не шифроване). Препоръчително е да не се използва без HTTPS/SSL/TLS за защита на канала.
  • При всяко искане: Данните за вход се изпращат с всяко искане към защитения ресурс.

Базовата автентикация най-често се използва в комбинация с HTTPS, за да се гарантира конфиденциалността на предаваните данни за вход.