Junior
Mi az a alapvető hitelesítés (Basic Auth)?
sobes.tech MI
Válasz az MI-től
Az alapvető hitelesítés a legegyszerűbb módja annak, hogy egy HTTP-kliens hitelesítést végezzen, az RFC 7617 szabvány szerint.
Működési elv:
- A kliens HTTP-kérést küld egy védett erőforráshoz.
- A szerver válaszol egy
401 Unauthorizedstátusszal és egyWWW-Authenticate: Basic realm="<realm>"fejlécet ad, ahol<realm>a védett terület (erőforrás) szöveges leírása. - A böngésző vagy a kliens alkalmazás megjelenít egy párbeszédablakot a felhasználónév és jelszó megadására.
- A kliens kódolja a felhasználónevet és jelszót egy
username:passwordformátumú sztringgé. - A kapott sztringet Base64 segítségével kódolja.
- A kliens ismétli a kérést, hozzáadva az
Authorization: Basic <base64_kódolt_sztring>fejlécet, ahol<base64_kódolt_sztring>a Base64 kódolás eredménye. - A szerver dekódolja a Base64 sztringet, szétválasztja a felhasználónevet és a jelszót, és ellenőrzi az adatokat.
- Ha az adatok helyesek, a szerver elküldi a kért erőforrást. Ellenkező esetben újra válaszol
401 Unauthorized-al.
Az Authorization fejléc példája:
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
ahol a YWxhZGRpbjpvcGVuc2VzYW1l a aladdin:opensesame Base64-kódolt sztringje.
Jellemzők:
- Egyszerűség: Könnyen megvalósítható mind kliens, mind szerver oldalon.
- Biztonságtalan: A hitelesítési adatok továbbításra kerülnek, még ha Base64-ben is vannak kódolva, de nem titkosítva. A Base64 kódolás, nem titkosítás. A forgalom elfogása esetén az adatok könnyen dekódolhatók. Csak HTTPS-szel kombinálva nyújt minimális biztonsági szintet.
- Állapot nélküli: Nem tartja meg az állapotot a szerver a kérések között (stateless). Minden kéréshez szükséges az
Authorizationfejléc. - Felhasználói élmény: A böngésző párbeszédablaka kevésbé rugalmas és kevésbé felhasználóbarát, mint a testreszabott hitelesítési űrlapok.
Használat: Főként API-k, statikus erőforrások védelmére, vagy egyszerű belső rendszerek esetén alkalmazzák, ahol a biztonság nem kritikus, vagy mindig SSL/TLS (HTTPS) mellett.