Proxy-Authorization parsearje yn in Go forward-proxy
Parsearje Proxy-Authorization apart yn in Go forward-proxy en behâld de Authorization-header fan de oarsprong.
Yn in Go forward-proxy lêst r.BasicAuth de Authorization-header, dy't by de oanmelding fan de websitesite fan bestimming heart. De eigen ynloggegevens fan de proxy komme yn Proxy-Authorization.
In lytse adapter kin de iepenbiere parser opnij brûke sûnder it oarspronklike fersyk te feroarjen:
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()
}
Dit fragmint brûkt net/http. It jout de parseele wearden en in flag foar slagge parsen werom; it autentisearret it akkount net. Jou it resultaat troch oan de bedoelde falidearder foar ynloggegevens fan de proxy.
As de autentikaasje mislearret, stjoer dan 407 mei in passende Proxy-Authenticate-útdaging werom en stop de ferwurking fan dat fersyk. Autentisearje foardat jo in ferbining nei de bestimming iepenje of in CONNECT-tunnel akseptearje.
Nei it akseptearjen fan de ynloggegevens, ferbrûk de eigen Proxy-Authorization-header fan de proxy foar gewoane trochstjoering. Behâld it oarspronklike Authorization-fjild foar de oarsprong. In boppesteande âlderproxy, as dy bestiet, hat syn eigen bewuste autentikaasjeregeling nedich ynstee fan dizze kliïntgegevens by ûngelok te ûntfangen.