Tanalizza Proxy-Authorization f'forward proxy Go
Tanalizza Proxy-Authorization b'mod separat f'forward proxy Go filwaqt li tippreserva l-header Authorization tal-oriġini.
F'forward proxy Go, r.BasicAuth jaqra l-header Authorization, li jappartjeni għall-login tas-sit web destinazzjoni. Il-kredenzjali tal-proxy stess jaslu fil-Proxy-Authorization.
Adattatur żgħir jista' jerġa' juża l-parser pubbliku mingħajr ma jbiddel it-talba oriġinali:
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()
}
Dan il-framment juża net/http. Jirritorna l-valuri tanalizzati u bandiera ta' suċċess tat-tanalizzar; ma jawtentikax il-kont. Għaddi r-riżultat lill-validatur tal-kredenzjali maħsub tal-proxy.
Jekk l-awtentikazzjoni tfalli, irritorna 407 b'sfida Proxy-Authenticate xierqa u waqqaf l-ipproċessar ta' dik it-talba. Awtentika qabel ma tiftaħ konnessjoni mad-destinazzjoni jew taċċetta tunnel CONNECT.
Wara li taċċetta l-kredenzjali, ikkonsma l-header Proxy-Authorization tal-proxy stess qabel it-trasferiment tas-soltu. Ippreserva l-qasam Authorization oriġinali għall-oriġini. Proxy ġenitur upstream, jekk ikun hemm, jeħtieġ arranġament ta' awtentikazzjoni tiegħu stess b'għaqal minflok ma jirċievi din il-kredenzjali tal-klijent b'inċident.