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.

Erlazionatutako artikuluak