Junior
Co je základní autentifikace (Basic Auth)?
sobes.tech AI
Odpověď od AI
Základní autentizace je nejjednodušší způsob autentizace klienta HTTP, definovaný v normě RFC 7617.
Princip fungování:
- Klient odešle HTTP požadavek na chráněný zdroj.
- Server odpoví stavem
401 Unauthorizeda hlavičkouWWW-Authenticate: Basic realm="<realm>", kde<realm>je textový popis chráněné oblasti (zdroje). - Prohlížeč nebo klientská aplikace zobrazí dialogové okno pro zadání uživatelského jména a hesla.
- Klient zakóduje uživatelské jméno a heslo do řetězce ve formátu
username:password. - Výsledný řetězec je zakódován pomocí Base64.
- Klient opakuje požadavek, přičemž přidá hlavičku
Authorization: Basic <base64_kódovaný_řetězec>, kde<base64_kódovaný_řetězec>je výsledek Base64 kódování. - Server dekóduje Base64 řetězec, rozdělí uživatelské jméno a heslo a ověří údaje.
- Pokud jsou údaje správné, server odešle požadovaný zdroj. Jinak opět vrátí
401 Unauthorized.
Příklad hlavičky Authorization:
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
kde YWxhZGRpbjpvcGVuc2VzYW1l je Base64 zakódovaný řetězec aladdin:opensesame.
Vlastnosti:
- Jednoduchost: Snadná implementace jak na straně klienta, tak na straně serveru.
- Nezabezpečenost: Přihlašovací údaje jsou přenášeny, i když jsou v Base64, ale nezašifrované. Base64 je kódování, nikoliv šifrování. Při zachycení dat je lze snadno dekódovat. Pouze ve spojení s HTTPS poskytuje minimální úroveň bezpečnosti.
- Bezstavovost: Neuchovává stav na serveru mezi požadavky (stateless). Každý požadavek vyžaduje hlavičku
Authorization. - Uživatelský zážitek: Dialogové okno prohlížeče je méně flexibilní a méně uživatelsky přívětivé ve srovnání s vlastním formulářem autentifikace.
Použití: Nejčastěji se používá k ochraně API, statických zdrojů nebo v jednoduchých interních systémech, kde bezpečnost není kritická, nebo vždy ve spojení s SSL/TLS (HTTPS).