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_encoded_string> სათაურით, სადაც <base64_encoded_string> — ეს არის Base64-ით კოდირებული სტრიქონი:
  7. სერვერი დეკოდირებს Base64-სტრიქონს, ნაწილებს სახელს და პაროლს და ამოწმებს მონაცემებს:
  8. თუ მონაცემები სწორია, სერვერი აგზავნის მოთხოვნილ რესურსს. წინააღმდეგ შემთხვევაში, ისევ აბრუნებს 401 Unauthorized:

Authorization სათაურის მაგალითი:

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

სადაც YWxhZGRpbjpvcGVuc2VzYW1l — ეს არის aladdin:opensesame სტრიქონის Base64-ით კოდირებული ვერსია:

საიდუმლოებები:

  • სადარტყელი: მარტივია როგორც კლიენტის, ასევე სერვერის მხარეზე:
  • უსაფრთხოება: მონაცემები გადაეცემა Base64-ით კოდირებული სახით, მაგრამ არ არის დაშიფრული. Base64 — ეს არის კოდირება, არა დაშიფვრა. ტრაფიკის გადამჭრელად მონაცემები ადვილად დეკოდირებადია. მხოლოდ HTTPS-ის გამოყენებისას უზრუნველყოფს მინიმალურ უსაფრთხოების დონეს.
  • სტატუსი: არ ინახავს სტატუსს სერვერზე, მოთხოვნების შორის (stateless). თითოეულ მოთხოვნას სჭირდება Authorization სათაური:
  • მომხმარებლის გამოცდილება: ბრაუზერის დიალოგის ფანჯარა ნაკლებად მოქნილია და ნაკლებად მეგობრული, ვიდრე სპეციალური ავტორიზაციის ფორმები:

გამოყენება: ყველაზე ხშირად გამოიყენება API-ს დაცვაში, სტატიკურ რესურსებში ან მარტივ შიდა სისტემებში, სადაც უსაფრთხოება არ არის კრიტიკული, ან აუცილებელია SSL/TLS (HTTPS) გამოყენებისას