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) հետ միասին։