Die volmag se adres sê vir Emacs waar om te konnekteer. Sy aanmelding is 'n ander deel van die gesprek. Vir 'n gewone HTTP-versoek kan Emacs se URL-biblioteek 'n volmag-verifikasie-uitdaging beantwoord, geldeedhede by auth-source kry of interaktief vra, en geldeedhede wat in die sessie gehou word, hergebruik.

Die besonderhede hieronder volg Emacs 31.1. Hulle raak bewerkings met die URL-biblioteek; 'n eksterne aflaaier wat deur 'n Emacs-pakket begin word, het sy eie verifikasiepad.

Stel die roete, laat dan HTTP om die aanmelding vra

'n Vaste volmag-eindpunt kan met die gedokumenteerde opsie gekies word:

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

Vervang die plekhouer met die verskafde eindpunt. Die sleutels beskryf die bestemming se URL-skemas. Die byvoeging van die HTTPS-inskrywing kies 'n roete vir HTTPS-bestemmings; dit verskaf nie self geldeedhede nie.

Tydens 'n gewone HTTP-versoek kan 'n volmag antwoord met 407 Proxy Authentication Required en 'n Proxy-Authenticate-uitdaging. Die URL-biblioteek kies 'n ondersteunde verifikasieskema en kry geldeedhede vir die volmag-eindpunt. Dit probeer dan weer met Proxy-Authorization.

Vir Basic-verifikasie kan 'n interaktiewe versoek om 'n gebruikersnaam en wagwoord vra wanneer geskikte geldeedhede nie beskikbaar is nie. 'n Versoek wat as nie-interaktief gemerk is, kan nie op daardie vrae staatmaak nie. Die volmag-aanmelding is ook apart van 'n bestemmingswebwerf se aanmelding: 'n webwerf se 401-uitdaging volg 'n ander pad.

Plaas blywende geldeedhede in auth-source

As auth-source reeds 'n versleutelde geldeedheid-lêer soos ~/.authinfo.gpg lees, het 'n Basic-inskrywing vir hierdie voorbeeld die volgende vorm:

machine proxy.example port http login YOUR_LOGIN password YOUR_PASSWORD

Gebruik jou werklike rekening en geheim, en maak seker die lêer is onder jou gekonfigureerde auth-sources. Die reël illustreer bypassende velde; dit is nie 'n opdrag om 'n wagwoord in jou Lisp-inisialiseringslêer te plaas nie.

Twee besonderhede saak in Emacs 31.1 se Basic-implementering. Dit soek die volmag se gasheernaam sonder die numeriese TCP-poort, en dit gee die volmag-URL se skema as auth-source se poortwaarde deur. Vir hierdie HTTP-volmag is daardie waarde http, selfs al gebruik die TCP-verbinding poort 8080.

Hierdie soektog sluit nie die uitdaging se realm of die numeriese volmag-poort in nie. Moenie verwag dat dit verskillende Basic-wagwoorde vir verskeie realms of volmag-poorte op dieselfde gasheernaam kies nie. Digest gebruik 'n ander gasheersoektog, so die voorbeeld hierbo is spesifiek vir Basic.

Die URL-biblioteek hou ook sy eie verifikasiestoor. Sy Basic-inskrywings onderskei volmag-eindpunte en gebruik realm- of gids-passing binne 'n eindpunt; daardie stoor is apart van die auth-source-soektog. Om 'n wagwoord by 'n vraag te tik kan die sessiestoor vul sonder om 'n nuwe inskrywing in jou blywende geldeedheid-lêer te stoor.

HTTPS het 'n vroeër verifikasiestap

Vir 'n HTTPS-bestemming deur 'n HTTP-volmag stuur Emacs eers CONNECT. Verifikasie kan dus nodig wees voordat dit die versleutelde verbinding na die webwerf bereik.

In Emacs 31.1 kyk die CONNECT-versoekbouer na verifikasie wat reeds deur sy verifikasiemasjinerie beskikbaar is, insluitend gekasde Basic-geldeedhede. Sy Basic-pad vra nie om 'n nuwe auth-source-inskrywing op daardie punt nie en haal dit ook nie. 'n Nie-200 CONNECT-antwoord betree ook nie die gewone HTTP 407-uitdaginghanteerder hierbo beskryf nie.

Gevolglik waarborg 'n auth-source-inskrywing wat 'n normale HTTP Basic-uitdaging kan beantwoord nie dat 'n nuwe sessie se eerste HTTPS-versoek suksesvol sal verifieer nie. 'n Sessie met geskikte gekasde geldeedhede het 'n ander beginstand. Herhaaldelik dieselfde wagwoordinskrywing wysig kan nie op sigself hierdie verskil tussen die twee paaie verwyder nie.

As 'n HTTPS-bewerking by die volmag stop, stel vas of CONNECT 407 ontvang het en of jy die gedrag van hierdie weergawe gebruik. Bevestig ook die volmag se aangebode verifikasieskema. 'n Basic-geldeedheid-inskrywing is nie 'n universele adapter vir elke ondernemingsverifikasiestelsel nie.

Hou die blywende konfigurasie in die publieke volmag-opsie en jou gekose geldeedheid-agterkant. Die URL-biblioteek se interne Basic-stoor is nuttig om hierdie gedrag te verstaan, maar om daardie private datastruktuur met die hand te vul, sou die opstelling aan implementeringsbesonderhede bind.

Verwante artikels