Proxy-Authorization aztertzea Go aurreranzko proxian
Aztertu Proxy-Authorization bereizita Go aurreranzko proxian, jatorrizko Authorization goiburua mantenduz.
Go aurreranzko proxian, r.BasicAuth-ek Authorization goiburua irakurtzen du, eta hori helmugako webguneko saioa hasierakoa da. Proxyaren beraren kredentzialak Proxy-Authorization goiburuan iristen dira.
Adaptadore txiki batek parser publikoa berrerabil dezake jatorrizko eskaera aldatu gabe:
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()
}
Zati honek net/http erabiltzen du. Aztertutako balioak eta azterketaren arrakasta-adierazlea itzultzen ditu; ez du kontua autentifikatzen. Emaitza proxyak aurreikusitako kredentzialen balidatzaileari pasatu behar zaio.
Autentifikazioak huts egiten badu, itzuli 407 Proxy-Authenticate erronka egokiarekin eta gelditu eskaera horren prozesamendua. Autentifikatu helmugarekiko konexioa ireki edo CONNECT tunela onartu aurretik.
Kredentzialak onartu ondoren, kontsumitu proxyaren beraren Proxy-Authorization goiburua ohiko bidalketaren aurretik. Mantendu jatorrizko Authorization eremua jatorriarentzat. Goragoko guraso-proxy batek bere autentifikazio-antolaketa propio eta nahita behar du, bezero-kredentzial hau ustekabean jaso ordez.