પ્રોક્સીનું સરનામું 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 પ્રોક્સી માટે, TCP જોડાણ પોર્ટ 8080 વાપરતું હોવા છતાં, તે મૂલ્ય http છે.

આ શોધમાં પડકારનું realm કે આંકડાકીય પ્રોક્સી પોર્ટ સમાવિષ્ટ નથી. એક જ હોસ્ટનામ પર કેટલાક realm કે પ્રોક્સી પોર્ટ માટે તે જુદા Basic પાસવર્ડ પસંદ કરશે એવી અપેક્ષા ન રાખો. Digest જુદી હોસ્ટ શોધ વાપરે છે, તેથી ઉપરનું ઉદાહરણ ખાસ Basic માટે છે.

URL લાઇબ્રેરી પોતાનું પ્રમાણીકરણ કેશ પણ રાખે છે. તેની Basic એન્ટ્રીઓ પ્રોક્સી એન્ડપોઇન્ટ અલગ પાડે છે અને એન્ડપોઇન્ટની અંદર realm કે ડિરેક્ટરી મેળ વાપરે છે; તે કેશ auth-source શોધથી અલગ છે. પ્રોમ્પ્ટ પર પાસવર્ડ ટાઇપ કરવાથી તમારી કાયમી ઓળખપત્ર ફાઇલમાં નવી એન્ટ્રી સાચવ્યા વિના સત્ર કેશ ભરાઈ શકે.

HTTPS માં પહેલાંનું પ્રમાણીકરણ પગલું છે

HTTP પ્રોક્સી દ્વારા HTTPS ગંતવ્ય માટે, Emacs પહેલાં CONNECT મોકલે છે. તેથી વેબસાઇટ સાથેના એન્ક્રિપ્ટેડ જોડાણ સુધી પહોંચતા પહેલાં પ્રમાણીકરણની જરૂર પડી શકે.

Emacs 31.1 માં, CONNECT વિનંતી બનાવનાર તેના પ્રમાણીકરણ યંત્ર દ્વારા પહેલેથી ઉપલબ્ધ પ્રમાણીકરણ તપાસે છે, કેશ કરેલા Basic ઓળખપત્રો સહિત. તેનો Basic માર્ગ તે સમયે નવી auth-source એન્ટ્રી માંગતો નથી કે લાવતો નથી. 200 ન હોય તેવો CONNECT પ્રતિભાવ પણ ઉપર વર્ણવેલા સામાન્ય HTTP 407 પડકાર હેન્ડલરમાં પ્રવેશતો નથી.

તેથી, સામાન્ય HTTP Basic પડકારનો જવાબ આપી શકતી auth-source એન્ટ્રી બાંયધરી આપતી નથી કે નવા સત્રની પહેલી HTTPS વિનંતી સફળતાપૂર્વક પ્રમાણિત થશે. યોગ્ય કેશ કરેલા ઓળખપત્રો ધરાવતા સત્રની શરૂઆતની સ્થિતિ જુદી છે. એ જ પાસવર્ડ એન્ટ્રી વારંવાર સંપાદિત કરવાથી બંને માર્ગો વચ્ચેનો આ તફાવત પોતાની રીતે દૂર થતો નથી.

જો HTTPS ક્રિયા પ્રોક્સી પર અટકે, તો નક્કી કરો કે CONNECT ને 407 મળ્યું કે નહીં અને તમે આ આવૃત્તિનું વર્તન વાપરી રહ્યા છો કે નહીં. પ્રોક્સી જે પ્રમાણીકરણ સ્કીમ ઓફર કરે છે તે પણ ખાતરી કરો. Basic ઓળખપત્ર એન્ટ્રી દરેક એન્ટરપ્રાઇઝ પ્રમાણીકરણ પ્રણાલી માટે સાર્વત્રિક એડાપ્ટર નથી.

કાયમી ગોઠવણી જાહેર પ્રોક્સી વિકલ્પમાં અને તમે પસંદ કરેલા ઓળખપત્ર બેકએન્ડમાં રાખો. URL લાઇબ્રેરીનું આંતરિક Basic સંગ્રહ આ વર્તન સમજવા માટે ઉપયોગી છે, પણ તે ખાનગી માહિતી માળખું હાથે ભરવાથી ગોઠવણી અમલીકરણની વિગતો સાથે બંધાઈ જશે.

સંબંધિત લેખો