Junior
Šta je osnovna autentifikacija (Basic Auth)?
sobes.tech АИ
Одговор од АИ
Osnovna autentifikacija je najjednostavniji način autentifikacije HTTP klijenta, definisan u standardu RFC 7617.
Princip rada:
- Klijent šalje HTTP zahtev za zaštićeni resurs.
- Server odgovara sa statusom
401 Unauthorizedi zaglavljemWWW-Authenticate: Basic realm="<realm>", gde je<realm>tekstualni opis zaštićene oblasti (resursa). - Pregledač ili klijentska aplikacija prikazuje dijalog za unos korisničkog imena i lozinke.
- Klijent kodira korisničko ime i lozinku u niz u formatu
username:password. - Dobijeni niz se kodira pomoću Base64.
- Klijent ponovo šalje zahtev, dodajući zaglavlje
Authorization: Basic <base64_kodiran_niz>, gde je<base64_kodiran_niz>rezultat Base64 kodiranja. - Server dekodira Base64 niz, razdvaja korisničko ime i lozinku i proverava podatke.
- Ako su podaci tačni, server šalje traženi resurs. U suprotnom, ponovo vraća
401 Unauthorized.
Primer zaglavlja Authorization:
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
gde je YWxhZGRpbjpvcGVuc2VzYW1l Base64 kodirani niz od aladdin:opensesame.
Karakteristike:
- Jednostavnost: Lako se implementira i na klijentskoj i na serverskoj strani.
- Nesigurnost: Podaci za prijavu se prenose, iako su kodirani u Base64, ali nisu šifrovani. Base64 je kodiranje, a ne šifrovanje. Pri presretanju saobraćaja, podaci se lako mogu dešifrovati. Samo u kombinaciji sa HTTPS pruža minimalni nivo sigurnosti.
- Bez stanja: Ne čuva stanje na serveru između zahteva (stateless). Svaki zahtev zahteva zaglavlje
Authorization. - Korisničko iskustvo: Dijalog prozora pretraživača je manje fleksibilan i manje korisnički prijateljski u poređenju sa prilagođenim obrascima za autentifikaciju.
Upotreba: Najčešće se koristi za zaštitu API-ja, statičkih resursa ili u jednostavnim internim sistemima gde sigurnost nije kritična, ili uvek u kombinaciji sa SSL/TLS (HTTPS).