Sobes.tech
Junior

Asosiy autentifikatsiya nima (Basic Auth)?

sobes.tech AI

AIdan javob

Asosiy autentifikatsiya — bu HTTP mijozini autentifikatsiya qilishning eng oddiy usuli bo'lib, RFC 7617 standarti bilan belgilangan.

Ishlash prinsipi:

  1. Mijoz himoyalangan resursga HTTP so'rov yuboradi.
  2. Server 401 Unauthorized holati va WWW-Authenticate: Basic realm="<realm>" sarlavhasi bilan javob beradi, bu yerda <realm> — himoyalangan hudfa (resurs) haqida matnli tavsif.
  3. Brauzer yoki mijoz ilovasi foydalanuvchi nomi va parolni kiritish uchun dialog oynasini ko'rsatadi.
  4. Mijoz foydalanuvchi nomi va parolni username:password formatidagi satrga kodlaydi.
  5. Olingan satr Base64 yordamida kodlanadi.
  6. Mijoz so'rovni takrorlaydi, Authorization: Basic <base64_kodlangan_satr> sarlavhasini qo'shadi, bu yerda <base64_kodlangan_satr> Base64 kodlash natijasidir.
  7. Server Base64 satrini dekodlaydi, foydalanuvchi nomi va parolni ajratadi va ma'lumotlarni tekshiradi.
  8. Agar ma'lumotlar to'g'ri bo'lsa, server so'ralgan resursni yuboradi. Aks holda, yana 401 Unauthorized bilan javob beradi.

Authorization sarlavha misoli:

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

bu yerda YWxhZGRpbjpvcGVuc2VzYW1laladdin:opensesame ning Base64 kodlangan satri.

Xususiyatlari:

  • Oddiylik: Klient va server tomonida oson amalga oshiriladi.
  • Xavfsizliksiz: Ma'lumotlar, hatto Base64 bilan kodlangan bo'lsa ham, shifrlanmagan holda uzatiladi. Base64 — kodlash, shifrlash emas. Trafikni ushlab qolish paytida ma'lumotlar osongina dekodlanadi. Faqat HTTPS bilan birga ishlatilganda minimal xavfsizlikni ta'minlaydi.
  • Holatsizlik: Serverda holat saqlamaydi (stateless). Har bir so'rovda Authorization sarlavhasi bo'lishi shart.
  • Foydalanuvchi tajribasi: Brauzer dialog oynasi kamroq moslashuvchan va foydalanuvchi uchun qulay emas, maxsus autentifikatsiya shakllariga nisbatan.

Qo'llanilishi: Asosan API, statik resurslar yoki oddiy ichki tizimlarni himoyalash uchun qo'llaniladi, xavfsizlik muhim bo'lmagan hollarda, yoki har doim SSL/TLS (HTTPS) bilan birga ishlatiladi.