Sobes.tech
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:

  1. Klientas siunčia HTTP užklausą apsaugotam ištekliui:
  2. Serveris grąžina atsakymą su statusu 401 Unauthorized ir antrašte WWW-Authenticate: Basic realm="<realm>", kur <realm> — tai aprašymas apie apsaugotą sritį (išteklių):
  3. Naršyklė arba kliento programa rodo dialogo langą vartotojo vardo ir slaptažodžio įvedimui:
  4. Klientas koduoja vartotojo vardą ir slaptažodį į eilutę username:password:
  5. Gautą eilutę koduoja Base64:
  6. Klientas pakartoja užklausą, pridėdamas antraštę Authorization: Basic <base64_encoded_string>, kur <base64_encoded_string> — tai Base64 koduotas eilutės rezultatas:
  7. Serveris dekoduoja Base64 eilutę, skiria vartotojo vardą ir slaptažodį ir tikrina duomenis:
  8. 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 Authorization antraš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).