Junior
Kas yra bazinis autentifikavimas (Basic Auth)?
sobes.tech AI
Atsakymas iš AI
Pagrindinė autentifikacija — tai paprasčiausias HTTP kliento autentifikavimo būdas, apibrėžtas RFC 7617 standarte:
Veikimo principas:
- Klientas siunčia HTTP užklausą apsaugotam ištekliui:
- Serveris grąžina atsakymą su statusu
401 Unauthorizedir antrašteWWW-Authenticate: Basic realm="<realm>", kur<realm>— tai aprašymas apie apsaugotą sritį (išteklių): - Naršyklė arba kliento programa rodo dialogo langą vartotojo vardo ir slaptažodžio įvedimui:
- Klientas koduoja vartotojo vardą ir slaptažodį į eilutę
username:password: - Gautą eilutę koduoja Base64:
- Klientas pakartoja užklausą, pridėdamas antraštę
Authorization: Basic <base64_encoded_string>, kur<base64_encoded_string>— tai Base64 koduotas eilutės rezultatas: - Serveris dekoduoja Base64 eilutę, skiria vartotojo vardą ir slaptažodį ir tikrina duomenis:
- Jei duomenys teisingi, serveris siunčia prašomą išteklių. Kitaip, vėl grąžina
401 Unauthorized:
Authorization antraštės pavyzdys:
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
kur YWxhZGRpbjpvcGVuc2VzYW1l — tai eilutės aladdin:opensesame Base64 koduota versija:
Ypatybės:
- Paprasta: Lengva įgyvendinti tiek kliento, tiek serverio pusėje:
- Nepasitikima: Duomenys perduodami Base64 koduotu pavidalu, bet nešifruoti. Base64 — tai kodavimas, ne šifravimas. Perėjus duomenis per tinklą, juos lengvai dekoduoti. Tik naudojant su HTTPS užtikrina minimalų saugumo lygį.
- Būsena: Nelaiko būsenos serveryje tarp užklausų (be stateless). Kiekvienai užklausai reikalingas
Authorizationantraštė: - Vartotojo patirtis: Naršyklės dialogo langas mažiau lankstus ir mažiau draugiškas nei pritaikyti autentifikacijos formos:
Naudojimas: dažniausiai taikomas API apsaugai, statiniams ištekliams arba paprastoms vidinėms sistemoms, kur saugumas nėra kritiškai svarbus, arba būtina naudoti kartu su SSL/TLS (HTTPS).