Ontleed Proxy-Authorization in 'n Go-voortstuurproxy
Ontleed Proxy-Authorization afsonderlik in 'n Go-voortstuurproxy terwyl die oorsprong se Authorization-kop behoue bly.
In 'n Go-voortstuurproxy lees r.BasicAuth die Authorization-kop, wat by die bestemmingswebwerf se aanmelding hoort. Die proxy se eie geloofsbriewe kom in Proxy-Authorization in.
'n Klein adapter kan die openbare ontleder hergebruik sonder om die oorspronklike versoek te verander:
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()
}
Hierdie fragment gebruik net/http. Dit gee die ontlede waardes en 'n vlag terug wat aandui of die ontleding geslaag het; dit verifieer nie die rekening nie. Gee die resultaat aan die proxy se eie geloofsbriefkontrole.
As verifikasie misluk, stuur 407 met 'n gepaste Proxy-Authenticate-uitdaging terug en stop die verwerking van daardie versoek. Verifieer voordat 'n verbinding na die bestemming oopgemaak of 'n CONNECT-tonnel aanvaar word.
Nadat die geloofsbriewe aanvaar is, verbruik die proxy se eie Proxy-Authorization-kop voor gewone aanstuur. Bewaar die oorspronklike Authorization-veld vir die oorsprong. 'n Opstroom-ouerproxy, as daar een is, het sy eie doelbewuste verifikasiereëling nodig eerder as om hierdie kliëntgeloofsbrief per ongeluk te ontvang.