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:
- Klient saadab HTTP-päringu kaitstud ressurssile:
- Server tagastab vastuse staatusega
401 Unauthorizedja päisegaWWW-Authenticate: Basic realm="<realm>", kus<realm>on kaitstud ala (ressursi) tekstiline kirjeldus: - Brauser või kliendirrakendus kuvab dialoogiboksi kasutajanime ja parooli sisestamiseks:
- Klient kodeerib kasutajanime ja parooli stringi
username:password: - Saadud string kodeeritakse Base64-ks:
- Klient kordab päringut, lisades päise
Authorization: Basic <base64_encoded_string>, kus<base64_encoded_string>on Base64-kooditud string: - Server dekodeerib Base64-stringi, jagab kasutajanime ja parooli ning kontrollib andmeid:
- 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
Authorizationpä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.