Í Go framsendingarproxy les r.BasicAuth Authorization-hausinn, sem tilheyrir innskráningu áfangavefsins. Skilríki proxysins sjálfs koma í Proxy-Authorization.

Lítill millistykki getur endurnýtt opinbera þáttarann án þess að breyta upprunalegu beiðninni:

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

Þetta brot notar net/http. Það skilar þáttuðu gildunum og merki um árangur þáttunar; það auðkennir ekki reikninginn. Sendu niðurstöðuna til fyrirhugaðs skilríkavillugreinis proxysins.

Ef auðkenning mistekst, skilaðu 407 með viðeigandi Proxy-Authenticate áskorun og stöðvaðu vinnslu þeirrar beiðni. Auðkenndu áður en þú opnar tengingu við áfangann eða tekur við CONNECT-göngum.

Eftir að skilríkin eru samþykkt skaltu eyða eigin Proxy-Authorization-haus proxysins áður en venjuleg framsending fer fram. Varðveittu upprunalega Authorization-reitinn fyrir upprunann. Yfirproxy ofar, ef til staðar, þarf eigið viljandi auðkenningaruppsetningu í stað þess að fá þessi skilríki biðlarans fyrir slysni.

Tengdir greinar