Վստահված անցուղու հասցեն Emacs-ին ասում է, թե որտեղ միանալ: Դրա մուտքագրումը զրույցի մեկ այլ մասն է: Սովորական HTTP հարցման համար Emacs-ի URL գրադարանը կարող է պատասխանել վստահված անցուղու նույնականացման մարտահրավերին, հավատարմագրեր ստանալ auth-source-ից կամ հարցնել ինտերակտիվ, և կրկին օգտագործել նստաշրջանում պահվող հավատարմագրերը:

Ստորև բերված մանրամասները հետևում են Emacs 31.1-ին: Դրանք վերաբերում են URL գրադարանը օգտագործող գործողություններին. Emacs փաթեթի կողմից գործարկված արտաքին ներբեռնիչն ունի իր սեփական նույնականացման ուղին:

Սահմանեք երթուղին, ապա թույլ տվեք HTTP-ին խնդրել մուտքագրումը

Հաստատուն վստահված անցուղու վերջնակետը կարելի է ընտրել փաստաթղթավորված ընտրանքով.

(setq url-proxy-services
      '(("http" . "proxy.example:8080")
        ("https" . "proxy.example:8080")))

Փոխարինեք տեղապահը տրված վերջնակետով: Բանալիները նկարագրում են նպատակակետի URL սխեմաները: HTTPS գրառման ավելացումը երթուղի է ընտրում HTTPS նպատակակետերի համար. այն ինքնին հավատարմագրեր չի տրամադրում:

Սովորական HTTP հարցման ընթացքում վստահված անցուղին կարող է պատասխանել 407 Proxy Authentication Required-ով և Proxy-Authenticate մարտահրավերով: URL գրադարանն ընտրում է աջակցվող նույնականացման սխեմա և ձեռք է բերում հավատարմագրեր վստահված անցուղու վերջնակետի համար: Այնուհետև կրկին փորձում է Proxy-Authorization-ով:

Basic նույնականացման համար ինտերակտիվ հարցումը կարող է հարցնել օգտանուն և գաղտնաբառ, երբ համապատասխան հավատարմագրեր հասանելի չեն: Ոչ ինտերակտիվ նշված հարցումը չի կարող ապավինել այդ հուշումներին: Վստահված անցուղու մուտքագրումը նաև առանձնացված է նպատակակետ կայքի մուտքագրումից. կայքի 401 մարտահրավերը հետևում է այլ ուղու:

Տեղադրեք մշտական հավատարմագրերը auth-source-ում

Եթե auth-source-ն արդեն կարդում է գաղտնագրված հավատարմագրերի ֆայլ, ինչպիսին է ~/.authinfo.gpg-ը, ապա այս օրինակի Basic գրառումն ունի հետևյալ ձևը.

machine proxy.example port http login YOUR_LOGIN password YOUR_PASSWORD

Օգտագործեք ձեր իրական հաշիվը և գաղտնիքը և համոզվեք, որ ֆայլը ձեր կարգավորված auth-sources-ի մեջ է: Տողը ցույց է տալիս համընկնող դաշտերը. այն հրահանգ չէ գաղտնաբառ դնել ձեր Lisp մեկնարկային ֆայլում:

Emacs 31.1-ի Basic իրականացման մեջ երկու մանրամասնություն կարևոր է: Այն փնտրում է վստահված անցուղու հոսթի անունը առանց թվային TCP պորտի և փոխանցում է վստահված անցուղու URL սխեման որպես auth-source-ի պորտի արժեք: Այս HTTP վստահված անցուղու համար այդ արժեքը http է, թեև TCP միացումը օգտագործում է 8080 պորտը:

Այս որոնումը չի ներառում մարտահրավերի realm-ը կամ վստահված անցուղու թվային պորտը: Մի սպասեք, որ այն կընտրի տարբեր Basic գաղտնաբառեր նույն հոսթի անվան վրա մի քանի realm-ների կամ վստահված անցուղու պորտերի համար: Digest-ն օգտագործում է այլ հոսթի որոնում, ուստի վերևի օրինակը հատուկ է Basic-ին:

URL գրադարանը նաև պահում է իր սեփական նույնականացման քեշը: Նրա Basic գրառումները տարբերում են վստահված անցուղու վերջնակետերը և վերջնակետի ներսում օգտագործում են realm-ի կամ պանակի համընկնում. այդ քեշն առանձին է auth-source-ի որոնումից: Հուշման ժամանակ գաղտնաբառ մուտքագրելը կարող է լցնել նստաշրջանի քեշը՝ առանց ձեր մշտական հավատարմագրերի ֆայլում նոր գրառում պահելու:

HTTPS-ն ունի ավելի վաղ նույնականացման քայլ

HTTP վստահված անցուղու միջոցով HTTPS նպատակակետի համար Emacs-ը նախ ուղարկում է CONNECT: Հետևաբար նույնականացումը կարող է անհրաժեշտ լինել նախքան կայքի հետ գաղտնագրված միացմանը հասնելը:

Emacs 31.1-ում CONNECT հարցման կառուցիչը ստուգում է արդեն հասանելի նույնականացումը իր նույնականացման մեխանիզմի միջոցով, ներառյալ քեշավորված Basic հավատարմագրերը: Նրա Basic ուղին այդ պահին չի հարցնում և չի բերում նոր auth-source գրառում: 200-ից տարբեր CONNECT պատասխանը նույնպես չի մտնում վերևում նկարագրված սովորական HTTP 407 մարտահրավերի մշակիչ:

Հետևաբար, auth-source գրառումը, որը կարող է պատասխանել սովորական HTTP Basic մարտահրավերին, չի երաշխավորում, որ նոր նստաշրջանի առաջին HTTPS հարցումը հաջողությամբ կնույնականացվի: Համապատասխան քեշավորված հավատարմագրեր ունեցող նստաշրջանն ունի այլ մեկնարկային վիճակ: Նույն գաղտնաբառի գրառումը կրկին ու կրկին խմբագրելը ինքնին չի կարող վերացնել այս տարբերությունը երկու ուղիների միջև:

Եթե HTTPS գործողությունը կանգ է առնում վստահված անցուղում, պարզեք՝ արդյոք CONNECT-ը ստացել է 407, և արդյոք օգտագործում եք այս թողարկման վարքը: Հաստատեք նաև վստահված անցուղու առաջարկած նույնականացման սխեման: Basic հավատարմագրերի գրառումը ունիվերսալ ադապտեր չէ բոլոր ձեռնարկային նույնականացման համակարգերի համար:

Պահեք մշտական կարգավորումը հանրային վստահված անցուղու ընտրանքում և ձեր ընտրած հավատարմագրերի հետին համակարգում: URL գրադարանի ներքին Basic պահոցը օգտակար է այս վարքը հասկանալու համար, բայց այդ մասնավոր տվյալների կառուցվածքը ձեռքով լցնելը կկապի կարգավորումը իրականացման մանրամասներին:

Առնչվող հոդվածներ