Sobes.tech
Junior

Čo je základná autentifikácia (Basic Auth)?

sobes.tech AI

Odpoveď od AI

Základná autentifikácia je najjednoduchší spôsob autentifikácie klienta HTTP, definovaný v štandarde RFC 7617.

Princíp fungovania:

  1. Klient odošle HTTP požiadavku na chránený zdroj.
  2. Server odpovie stavom 401 Unauthorized a hlavičkou WWW-Authenticate: Basic realm="<realm>", kde <realm> je textový popis chráneného územia (zdroja).
  3. Prehliadač alebo klientská aplikácia zobrazí dialógové okno na zadanie používateľského mena a hesla.
  4. Klient zakóduje používateľské meno a heslo do reťazca vo formáte username:password.
  5. Výsledný reťazec je zakódovaný pomocou Base64.
  6. Klient opakuje požiadavku, pričom pridá hlavičku Authorization: Basic <base64_kódovaný_reťazec>, kde <base64_kódovaný_reťazec> je výsledok Base64 kódovania.
  7. Server dekóduje Base64 reťazec, rozdelí používateľské meno a heslo a overí údaje.
  8. Ak sú údaje správne, server odošle požadovaný zdroj. Inak opäť vráti 401 Unauthorized.

Príklad hlavičky Authorization:

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

kde YWxhZGRpbjpvcGVuc2VzYW1l je Base64 zakódovaný reťazec aladdin:opensesame.

Vlastnosti:

  • Jednoduchosť: Jednoduchá na implementáciu na strane klienta aj servera.
  • Nezabezpečené: Pri prenose sa odovzdávajú prihlasovacie údaje, aj keď sú v Base64, ale bez šifrovania. Base64 je kódovanie, nie šifrovanie. Pri zachytení komunikácie je možné údaje ľahko dekódovať. Iba v spojení s HTTPS poskytuje minimálnu úroveň bezpečnosti.
  • Bez stavu: Neuchováva stav na serveri medzi požiadavkami (stateless). Každá požiadavka vyžaduje hlavičku Authorization.
  • Používateľský zážitok: Dialógové okno prehliadača je menej flexibilné a menej používateľsky priateľské v porovnaní s vlastnými formulármi autentifikácie.

Použitie: Používa sa najmä na ochranu API, statických zdrojov alebo v jednoduchých interných systémoch, kde bezpečnosť nie je kritická, alebo vždy v spojení s SSL/TLS (HTTPS).