A proxy címe megmondja az Emacsnek, hová csatlakozzon. A bejelentkezés a beszélgetés másik része. Egy közönséges HTTP-kérésnél az Emacs URL-könyvtára megválaszolhatja a proxy hitelesítési kihívását, hitelesítő adatokat kérhet az auth-source-ból vagy interaktívan, és újra felhasználhatja a munkamenetben tartott adatokat.

Az alábbi részletek az Emacs 31.1-et követik. Olyan műveletekre vonatkoznak, amelyek az URL-könyvtárat használják; az Emacs-csomag által indított külső letöltőnek saját hitelesítési útvonala van.

Állítsa be az útvonalat, majd hagyja, hogy a HTTP kérje a bejelentkezést

Egy rögzített proxy-végpont a dokumentált beállítással választható ki:

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

Cserélje ki a helyőrzőt a kapott végpontra. A kulcsok a cél URL-sémáit írják le. A HTTPS-bejegyzés hozzáadása útvonalat választ a HTTPS-célokhoz; önmagában nem ad hitelesítő adatokat.

Egy közönséges HTTP-kérés során a proxy 407 Proxy Authentication Required és Proxy-Authenticate kihívással válaszolhat. Az URL-könyvtár kiválaszt egy támogatott hitelesítési sémát, és hitelesítő adatokat szerez a proxy végpontjához. Ezután Proxy-Authorization használatával újra próbálkozik.

A Basic hitelesítésnél egy interaktív kérés felhasználónevet és jelszót kérhet, ha nincsenek megfelelő hitelesítő adatok. A nem interaktívként megjelölt kérés nem támaszkodhat ezekre a kérésekre. A proxy bejelentkezés a célwebhely bejelentkezésétől is elkülönül: egy webhely 401 kihívása más útvonalat követ.

Tegye a tartós hitelesítő adatokat az auth-source-ba

Ha az auth-source már olvas egy titkosított hitelesítő adatfájlt, például ~/.authinfo.gpg, akkor az ehhez a példához tartozó Basic bejegyzés a következő alakú:

machine proxy.example port http login YOUR_LOGIN password YOUR_PASSWORD

Használja a tényleges fiókját és titkát, és győződjön meg arról, hogy a fájl a beállított auth-sources között van. A sor az egyező mezőket szemlélteti; nem utasítás arra, hogy jelszót tegyen a Lisp inicializáló fájljába.

Két részlet számít az Emacs 31.1 Basic megvalósításában. A proxy hosztnevét a numerikus TCP-port nélkül keresi, és a proxy URL-sémáját adja át az auth-source portértékeként. Ennél a HTTP-proxynál ez az érték http, pedig a TCP-kapcsolat a 8080-as portot használja.

Ez a keresés nem tartalmazza a kihívás realmjét vagy a numerikus proxy-portot. Ne számítson arra, hogy különböző Basic-jelszavakat választ több realmhez vagy proxy-porthoz ugyanazon a hosztnéven. A Digest más hosztkeresést használ, ezért a fenti példa kifejezetten a Basichoz szól.

Az URL-könyvtár saját hitelesítési gyorsítótárat is tart. Basic bejegyzései megkülönböztetik a proxy végpontokat, és egy végponton belül realm- vagy könyvtáregyezést használnak; ez a gyorsítótár elkülönül az auth-source keresésétől. Jelszó beírása egy kérésnél feltöltheti a munkamenet gyorsítótárát anélkül, hogy új bejegyzést mentene a tartós hitelesítő adatfájlba.

A HTTPS-nek korábbi hitelesítési lépése van

HTTP-proxyn keresztüli HTTPS-célhoz az Emacs először CONNECT-et küld. Ezért a hitelesítésre szükség lehet, mielőtt elérné a webhelyhez vezető titkosított kapcsolatot.

Az Emacs 31.1-ben a CONNECT-kérés építője ellenőrzi a hitelesítési gépezete révén már elérhető hitelesítést, beleértve a gyorsítótárazott Basic hitelesítő adatokat. A Basic útvonala ezen a ponton nem kér és nem hoz friss auth-source bejegyzést. A nem 200-as CONNECT-válasz sem lép be a fent leírt közönséges HTTP 407 kihíváskezelőbe.

Következésképpen egy olyan auth-source bejegyzés, amely meg tud válaszolni egy normál HTTP Basic kihívást, nem garantálja, hogy egy új munkamenet első HTTPS-kérése sikeresen hitelesítődik. A megfelelő gyorsítótárazott hitelesítő adatokkal rendelkező munkamenet más kezdőállapotból indul. Ugyanazon jelszóbejegyzés ismételt szerkesztése önmagában nem szüntetheti meg ezt a különbséget a két útvonal között.

Ha egy HTTPS-művelet megáll a proxynál, állapítsa meg, hogy a CONNECT kapott-e 407-et, és hogy e kiadás viselkedését használja-e. Erősítse meg a proxy által kínált hitelesítési sémát is. A Basic hitelesítő adatbejegyzés nem univerzális adapter minden vállalati hitelesítési rendszerhez.

Tartsa a tartós konfigurációt a nyilvános proxy-beállításban és a választott hitelesítőadat-háttérben. Az URL-könyvtár belső Basic tárolója hasznos ennek a viselkedésnek a megértéséhez, de a privát adatszerkezet kézi feltöltése a beállítást a megvalósítás részleteihez kötné.

Kapcsolódó cikkek