Junior
რა არის ბაზის ავტორიზაცია (Basic Auth)?
sobes.tech AI
პასუხი AI-სგან
ბაზის ავტორიზაცია — ეს არის HTTP მომხმარებლის ყველაზე მარტივი ავტორიზაციის მეთოდი, განსაზღვრული RFC 7617 სტანდარტში:
მუშაობის პრინციპი:
- მომხმარებელი აგზავნის HTTP მოთხოვნას დაცულ რესურსზე:
- სერვერი აბრუნებს პასუხს სტატუსით
401 Unauthorizedდა სათაურითWWW-Authenticate: Basic realm="<realm>", სადაც<realm>— ეს არის დაცული ტერიტორიის (რესურსის) ტექსტური აღწერა: - ბრაუზერი ან მომხმარებლის აპლიკაცია აჩვენებს დიალოგის ფანჯარას სახელისა და პაროლის შესაყვანად:
- მომხმარებელი კოდირებს სახელს და პაროლს
username:passwordფორმატში: - მიღებული სტრიქონი კოდირებულია Base64-ით:
- მომხმარებელი განმეორებით აგზავნის მოთხოვნას, დამატებით
Authorization: Basic <base64_encoded_string>სათაურით, სადაც<base64_encoded_string>— ეს არის Base64-ით კოდირებული სტრიქონი: - სერვერი დეკოდირებს Base64-სტრიქონს, ნაწილებს სახელს და პაროლს და ამოწმებს მონაცემებს:
- თუ მონაცემები სწორია, სერვერი აგზავნის მოთხოვნილ რესურსს. წინააღმდეგ შემთხვევაში, ისევ აბრუნებს
401 Unauthorized:
Authorization სათაურის მაგალითი:
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
სადაც YWxhZGRpbjpvcGVuc2VzYW1l — ეს არის aladdin:opensesame სტრიქონის Base64-ით კოდირებული ვერსია:
საიდუმლოებები:
- სადარტყელი: მარტივია როგორც კლიენტის, ასევე სერვერის მხარეზე:
- უსაფრთხოება: მონაცემები გადაეცემა Base64-ით კოდირებული სახით, მაგრამ არ არის დაშიფრული. Base64 — ეს არის კოდირება, არა დაშიფვრა. ტრაფიკის გადამჭრელად მონაცემები ადვილად დეკოდირებადია. მხოლოდ HTTPS-ის გამოყენებისას უზრუნველყოფს მინიმალურ უსაფრთხოების დონეს.
- სტატუსი: არ ინახავს სტატუსს სერვერზე, მოთხოვნების შორის (stateless). თითოეულ მოთხოვნას სჭირდება
Authorizationსათაური: - მომხმარებლის გამოცდილება: ბრაუზერის დიალოგის ფანჯარა ნაკლებად მოქნილია და ნაკლებად მეგობრული, ვიდრე სპეციალური ავტორიზაციის ფორმები:
გამოყენება: ყველაზე ხშირად გამოიყენება API-ს დაცვაში, სტატიკურ რესურსებში ან მარტივ შიდა სისტემებში, სადაც უსაფრთხოება არ არის კრიტიკული, ან აუცილებელია SSL/TLS (HTTPS) გამოყენებისას।