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.

Verwante artikels