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:
- Klient odošle HTTP požiadavku na chránený zdroj.
- Server odpovie stavom
401 Unauthorizeda hlavičkouWWW-Authenticate: Basic realm="<realm>", kde<realm>je textový popis chráneného územia (zdroja). - Prehliadač alebo klientská aplikácia zobrazí dialógové okno na zadanie používateľského mena a hesla.
- Klient zakóduje používateľské meno a heslo do reťazca vo formáte
username:password. - Výsledný reťazec je zakódovaný pomocou Base64.
- 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. - Server dekóduje Base64 reťazec, rozdelí používateľské meno a heslo a overí údaje.
- 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).