Go फर्वार्ड प्रोक्सीमा Proxy-Authorization को विश्लेषण
मूल Authorization हेडर जोगाउँदै Go फर्वार्ड प्रोक्सीमा Proxy-Authorization लाई छुट्टै विश्लेषण गर्नुहोस्।
Go फर्वार्ड प्रोक्सीमा r.BasicAuth ले Authorization हेडर पढ्छ, जो गन्तव्य वेबसाइटको लगइनको हो। प्रोक्सीको आफ्नै प्रमाणहरू Proxy-Authorization मा आउँछन्।
एउटा सानो एडाप्टरले मूल अनुरोध नबदली सार्वजनिक पार्सर पुनः प्रयोग गर्न सक्छ:
func proxyBasicAuth(r *http.Request) (string, string, bool) {
headers := make(http.Header)
headers.Set("Authorization", r.Header.Get("Proxy-Authorization"))
return (&http.Request{Header: headers}).BasicAuth()
}
यो अंशले net/http प्रयोग गर्छ। यसले विश्लेषण गरिएका मानहरू र विश्लेषण सफल भएको सङ्केत फर्काउँछ; यसले खाता प्रमाणित गर्दैन। नतिजा प्रोक्सीको इच्छित प्रमाण प्रमाणिकरणकर्तालाई दिनुहोस्।
प्रमाणीकरण असफल भएमा उपयुक्त Proxy-Authenticate चुनौतीसहित 407 फर्काउनुहोस् र त्यो अनुरोधको प्रशोधन रोक्नुहोस्। गन्तव्यसँग जडान खोल्नु वा CONNECT सुरुङ स्वीकार गर्नु अघि प्रमाणित गर्नुहोस्।
प्रमाणहरू स्वीकार गरेपछि, सामान्य अग्रसारण अघि प्रोक्सीको आफ्नै Proxy-Authorization हेडर प्रयोग गर्नुहोस्। मूलका लागि मूल Authorization फिल्ड जोगाउनुहोस्। माथिल्लो अभिभावक प्रोक्सी भए यसले यो क्लाइन्ट प्रमाण संयोगवश नपाएर आफ्नै सुविचारित प्रमाणीकरण व्यवस्था आवश्यक छ।