An engem Go-Forward-Proxy liest r.BasicAuth den Authorization-Header, deen zum Login vun der Zielsäit gehéiert. D'Zougangsdaten vum Proxy selwer kommen am Proxy-Authorization.

E klengen Adapter kann dee ëffentleche Parser erëm benotzen, ouni d'Originalufro ze änneren:

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()
}

Dëst Fragment benotzt net/http. Et gëtt déi geparste Wäerter an e Flag fir eng erfollegräich Analyse zréck; et authentifizéiert de Kont net. Gitt d'Resultat un de virgesi Validator fir d'Zougangsdaten vum Proxy.

Wann d'Authentifikatioun fehlschléit, schéckt 407 mat enger passender Proxy-Authenticate-Herausfuerderung zréck a stoppt d'Veraarbechtung vun där Ufro. Authentifizéiert iech, ier Dir eng Verbindung zum Zil opmaacht oder en CONNECT-Tunnel akzeptéiert.

Nodeems d'Zougangsdaten akzeptéiert goufen, verbraucht den eegene Proxy-Authorization-Header vum Proxy virum normale Weiderleeden. Behält dat ursprénglecht Authorization-Feld fir den Urspronk. En iwwergeuerdnete Mammeproxy, wann et een gëtt, brauch seng eege bewosst Authentifikatiounsreegelung, amplaz dës Client-Zougangsdaten zoufälleg ze kréien.

Ähnlech Artikelen