Sobes.tech
Junior

Аутентификацияи асосӣ (Basic Auth) чист?

sobes.tech AI

Ҷавоб аз AI

Асосӣ аутентификация — ин соддатарин роҳи аутентификацияи муштарии HTTP мебошад, ки дар стандарти RFC 7617 муайян шудааст.

Принсипи кор:

  1. Муштарӣ дархости HTTP ба манбаи муҳофизатшуда мефиристад.
  2. Сервер бо статуси 401 Unauthorized ва сарлавҳаи WWW-Authenticate: Basic realm="<realm>" ҷавоб медиҳад, ки дар он <realm> тавсифи матнӣ дар бораи минтақаи муҳофизатшуда (манба) мебошад.
  3. Браузер ё барномаи муштарӣ дарвоза барои ворид кардани номи корбар ва парол нишон медиҳад.
  4. Муштарӣ номи корбар ва паролро дар сатр бо формати username:password код мекунад.
  5. Сатр ба воситаи Base64 код мешавад.
  6. Муштарӣ дархости такрор мекунад, бо илова кардани сарлавҳаи Authorization: Basic <сатр_ба_Base64_кодшуда> ки дар он <сатр_ба_Base64_кодшуда> натиҷаи кодикунии Base64 мебошад.
  7. Сервер сатрро бо Base64 декод мекунад, номи корбар ва паролро ҷудо мекунад ва маълумотҳоро санҷида мебинад.
  8. Агар маълумот дуруст бошад, сервер манбаъро мефиристад. Дар акси ҳол, боз бо 401 Unauthorized ҷавоб медиҳад.

Маслиҳат барои сарлавҳаи Authorization:

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

ки дар он YWxhZGRpbjpvcGVuc2VzYW1l сатр бо Base64 кодикунӣ аз aladdin:opensesame мебошад.

Хусусиятҳо:

  • Соддагӣ: Ҳам дар ҷониби муштарӣ ва ҳам дар ҷониби сервер осон иҷро кардан.
  • Насозона: Маълумотҳои аутентификатсия, ки ҳатто дар Base64 кодикунӣ шудаанд, бидуни рамзгузорӣ интиқол дода мешаванд. Base64 — кодикунӣ, на рамзгузорӣ. Дар ҳолати дастрасӣ ба маълумотҳо, онҳо ба осонӣ метавонанд декод шаванд. Танҳо дар ҳамоҳангӣ бо HTTPS сатҳи ҳадди ақалро таъмин мекунад.
  • Бе ҳолат: Дар байни дархостҳо дар сервер ҳолат нигоҳ намедорад (stateless). Ҳар дархост ба сарлавҳаи Authorization ниёз дорад.
  • Таҷрибаи корбар: Дарвоза барои браузер камтар флексибл ва камтар дӯстона аст нисбат ба формҳои махсуси аутентификатсия.

Истифода: Аксар вақт барои ҳимояи API, манбаъҳои статикӣ ё дар системаҳои дохилии содда истифода мешавад, ки бехатарӣ муҳим нест, ё ҳамеша дар ҳамоҳангӣ бо SSL/TLS (HTTPS).