Sobes.tech
Junior

Mis on baasautentimine (Basic Auth)?

sobes.tech AI

Vastus AI-lt

Põhiline autentimine — see on kõige lihtsam HTTP kliendi autentimise viis, mis on määratletud standardis RFC 7617:

Tööpõhimõte:

  1. Klient saadab HTTP-päringu kaitstud ressurssile:
  2. Server tagastab vastuse staatusega 401 Unauthorized ja päisega WWW-Authenticate: Basic realm="<realm>", kus <realm> on kaitstud ala (ressursi) tekstiline kirjeldus:
  3. Brauser või kliendirrakendus kuvab dialoogiboksi kasutajanime ja parooli sisestamiseks:
  4. Klient kodeerib kasutajanime ja parooli stringi username:password:
  5. Saadud string kodeeritakse Base64-ks:
  6. Klient kordab päringut, lisades päise Authorization: Basic <base64_encoded_string>, kus <base64_encoded_string> on Base64-kooditud string:
  7. Server dekodeerib Base64-stringi, jagab kasutajanime ja parooli ning kontrollib andmeid:
  8. Kui andmed on õiged, saadab server soovitud ressursi. Vastasel juhul tagastab uuesti 401 Unauthorized:

Authorization päise näide:

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

kus YWxhZGRpbjpvcGVuc2VzYW1l on stringi aladdin:opensesame Base64-kooditud versioon:

Omadused:

  • Lihtne: Lihtne rakendada nii kliendi kui ka serveri poolel:
  • Turvalisus: Andmed edastatakse Base64-ks kodeeritud kujul, kuid mitte krüpteeritud. Base64 on kodeerimine, mitte krüpteerimine. Võrgu pealt edastades on andmed kergesti dekodeeritavad. Ainult HTTPS-iga tagab minimaalset turvalisustaset.
  • Oleku: Ei säilita olekut serveris, iga päring nõuab Authorization päist (ilma stateless):
  • Kasutajakogemus: Brauseri dialoogiboks on vähem paindlik ja vähem kasutajasõbralik kui kohandatud autentimisvormid:

Kasutamine: Enamasti kasutatakse API-de kaitsmiseks, staatiliste ressursside või lihtsate sisemiste süsteemide puhul, kus turvalisus ei ole kriitiline, või vajalik koos SSL/TLS (HTTPS) kasutamisega.