URL proxyaren saio-hasiera Emacs 31.1-en: auth-source eta CONNECT muga
Konfiguratu Emacsen URL liburutegirako autentifikatutako HTTP proxy bat, ulertu Basic kredentzialen bilaketa eta kontuan hartu HTTPS CONNECT bidea Emacs 31.1-en.
Proxyaren helbideak Emacsi esaten dio non konektatu. Haren saio-hasiera elkarrizketaren beste zati bat da. HTTP eskaera arrunt baterako, Emacsen URL liburutegiak proxyaren autentifikazio erronka bati erantzun diezaioke, auth-source-tik kredentzialak lortu edo interaktiboki galdetu, eta saioan gordetako kredentzialak berrerabili.
Beheko xehetasunek Emacs 31.1 jarraitzen dute. URL liburutegia erabiltzen duten eragiketak ukitzen dituzte; Emacs pakete batek abiarazitako kanpoko deskargatzaileak bere autentifikazio bidea du.
Ezarri ibilbidea, eta utzi HTTPri saio-hasiera eskatzen
Proxy amaierako puntu finko bat dokumentatutako aukerarekin hauta daiteke:
(setq url-proxy-services
'(("http" . "proxy.example:8080")
("https" . "proxy.example:8080")))
Ordeztu leku-marka emandako amaierako puntuarekin. Gakoek helmugako URL eskemak deskribatzen dituzte. HTTPS sarrera gehitzeak HTTPS helmugei ibilbidea hautatzen die; berez ez du kredentzialik ematen.
HTTP eskaera arrunt batean, proxy batek 407 Proxy Authentication Required eta Proxy-Authenticate erronka batekin erantzun dezake. URL liburutegiak onartutako autentifikazio eskema bat hautatzen du eta proxyaren amaierako punturako kredentzialak lortzen ditu. Ondoren Proxy-Authorization erabiliz berriro saiatzen da.
Basic autentifikaziorako, eskaera interaktibo batek erabiltzaile-izena eta pasahitza eskatu ditzake kredentzial egokiak erabilgarri ez daudenean. Interaktibo ez gisa markatutako eskaera batek ezin du galdera horietan fidatu. Proxyaren saio-hasiera helmugako webguneko saio-hasieratik ere bereizia da: webgune baten 401 erronkak beste bide bat jarraitzen du.
Jarri kredentzial iraunkorrak auth-source-n
auth-source-k jada ~/.authinfo.gpg bezalako kredentzial fitxategi zifratua irakurtzen badu, adibide honetarako Basic sarrera batek forma hau du:
machine proxy.example port http login YOUR_LOGIN password YOUR_PASSWORD
Erabili zure benetako kontua eta sekretua, eta ziurtatu fitxategia konfiguratutako auth-sources artean dagoela. Lerroak bat datozen eremuak erakusten ditu; ez da zure Lisp hasieratze fitxategian pasahitza jartzeko jarraibidea.
Bi xehetasun garrantzitsuak dira Emacs 31.1-en Basic inplementazioan. Proxyaren ostalari-izena zenbakizko TCP porturik gabe bilatzen du, eta proxyaren URLaren eskema pasatzen du auth-source-ren portu balio gisa. HTTP proxy honetarako, balio hori http da, TCP konexioak 8080 portua erabiltzen badu ere.
Bilaketa honek ez ditu erronkaren realm-a ezta proxyaren zenbakizko portua barne hartzen. Ez espero ostalari-izen berean hainbat realm edo proxy portutarako Basic pasahitz ezberdinak hautatzea. Digest-ek ostalari bilaketa ezberdina erabiltzen du, beraz goiko adibidea Basic-erako da zehazki.
URL liburutegiak bere autentifikazio cachea ere gordetzen du. Haren Basic sarrerek proxy amaierako puntuak bereizten dituzte eta amaierako puntu baten barruan realm edo direktorio bat etortzea erabiltzen dute; cache hori auth-source bilaketatik bereizia da. Galdera batean pasahitza idazteak saioaren cachea bete dezake zure kredentzial fitxategi iraunkorrean sarrera berririk gorde gabe.
HTTPS-k lehenagoko autentifikazio urrats bat du
HTTP proxy baten bidezko HTTPS helmuga baterako, Emacsek CONNECT bidaltzen du lehenik. Beraz, autentifikazioa beharrezkoa izan daiteke webgunerako konexio zifratura iritsi aurretik.
Emacs 31.1-en, CONNECT eskaeraren eraikitzaileak bere autentifikazio makinaren bidez jada erabilgarri dagoen autentifikazioa egiaztatzen du, cachean gordetako Basic kredentzialak barne. Haren Basic bideak ez du eskatzen ezta auth-source sarrera berririk ekartzen une horretan. 200 ez den CONNECT erantzun bat ere ez da goian deskribatutako ohiko HTTP 407 erronka kudeatzailera sartzen.
Ondorioz, ohiko HTTP Basic erronka bati erantzun diezaiokeen auth-source sarrera batek ez du bermatzen saio berri baten lehen HTTPS eskaerak behar bezala autentifikatuko duenik. Cachean kredentzial egokiak dituen saioak hasierako egoera ezberdina du. Pasahitz sarrera bera behin eta berriz editatzeak ezin du berez bi bideen arteko aldea kendu.
HTTPS eragiketa bat proxyean gelditzen bada, zehaztu CONNECT-ek 407 jaso zuen eta bertsio honen portaera erabiltzen ari zaren. Egiaztatu proxyak eskaintzen duen autentifikazio eskema ere. Basic kredentzial sarrera bat ez da enpresa autentifikazio sistema guztietarako egokigailu unibertsala.
Eduki konfigurazio iraunkorra proxyaren aukera publikoan eta hautatu duzun kredentzial backend-ean. URL liburutegiaren barne Basic biltegia portaera hau ulertzeko erabilgarria da, baina datu egitura pribatu hori eskuz betetzeak konfigurazioa inplementazio xehetasunei lotuko lieke.