Sobes.tech
Junior

Kas ir pamatautentifikācija (Basic Auth)?

sobes.tech AI

Atbilde no AI

Pamatautentifikācija — tas ir vienkāršākais HTTP klienta autentifikācijas veids, kas noteikts RFC 7617 standartā:

Darba princips:

  1. Klients nosūta HTTP pieprasījumu aizsargātajam resursam:
  2. Serveris atgriež atbildi ar statusu 401 Unauthorized un galveni WWW-Authenticate: Basic realm="<realm>", kur <realm> ir aizsargātās teritorijas (resursa) teksta apraksts:
  3. Pārlūkprogramma vai klienta lietotne parāda dialoglodziņu lietotājvārda un paroles ievadei:
  4. Klients kodē lietotājvārdu un paroli username:password formātā:
  5. Iegūto rindu kodē ar Base64:
  6. Klients atkārtoti sūta pieprasījumu, pievienojot galveni Authorization: Basic <base64_encoded_string>, kur <base64_encoded_string> ir Base64 kodēta rinda:
  7. Serveris dekodē Base64 rindu, sadala lietotājvārdu un paroli un pārbauda datus:
  8. Ja dati ir pareizi, serveris nosūta pieprasīto resursu. Pretējā gadījumā — atkal atgriež 401 Unauthorized:

Authorization galvenes piemērs:

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

kur YWxhZGRpbjpvcGVuc2VzYW1l ir aladdin:opensesame rindiņas Base64 kodēta versija:

Īpatnības:

  • Vienkāršība: Viegls realizēt gan klienta, gan servera pusē:
  • Nepieciešamība: Dati tiek pārsūtīti Base64 kodētā veidā, bet nav šifrēti. Base64 ir kodēšana, ne šifrēšana. Pārlūkošanas laikā dati viegli dekodējami. Tikai ar HTTPS tas nodrošina minimālo drošības līmeni.
  • Stāvoklis: Nepieciešams katram pieprasījumam Authorization galvene, jo tas nesaglabā stāvokli serverī starp pieprasījumiem (bez stateless).
  • Lietotāja pieredze: Pārlūkprogrammas dialoglodziņš ir mazāk elastīgs un lietotājam draudzīgāks nekā pielāgotas autentifikācijas formas:

Izmantošana: visbiežāk tiek izmantots API aizsardzībai, statiskiem resursiem vai vienkāršām iekšējām sistēmām, kur drošība nav kritiska, vai jāizmanto kopā ar SSL/TLS (HTTPS).