Għal proxy HTTP li joffri awtenikazzjoni Basic, il-proxyAuthenticator ta' OkHttp jista' jirritorna talba li ġġorr il-kredenzjali. Irritorna null wara li tentattiv ta' awtorizzazzjoni jkun diġà ġie miċħud, minflok ma terġa' tibgħat l-istess tweġiba:

.proxyAuthenticator { _, response ->
    if (response.request.header("Proxy-Authorization") != null) {
        null
    } else {
        response.request.newBuilder()
            .header("Proxy-Authorization",
                    Credentials.basic(proxyUser, proxyPassword))
            .build()
    }
}

Dan l-abbozz juża valuri tal-kont mill-konfigurazzjoni sigrieta tal-applikazzjoni. Il-gwardja tippermetti tentattiv inizjali u twaqqaf wieħed ripetut. Hija timplimenta Basic, mhux kull skema li proxy jista' jħabbar; iċċekkja l-isfida qabel tagħżel dik it-tweġiba.

Jekk ir-riżultat finali jibqa' 407, qabbel il-proxy magħżul, l-iskema mħabbra u l-identità tal-kont dokumentata. Password miċħuda, metodu mhux appoġġjat u forma ta' isem tal-utent żbaljata jeħtieġu korrezzjonijiet differenti. Żomm dawk l-osservazzjonijiet u l-istat finali f'dijanjostika redatta.

CONNECT għandu kuntest ieħor ta' callback: OkHttp jiddokumenta sfida sintetika ta' awtenikazzjoni tal-proxy preventiva qabel ma jiftaħ il-mina. Immaniġġja dak il-kuntest skont l-API minflok ma tassumi li kull callback huwa tweġiba ordinarja tad-destinazzjoni.

L-authenticator separat huwa għall-awtenikazzjoni tas-server tad-destinazzjoni. Żomm il-kredenzjali tiegħu separati mid-dħul tal-proxy; interceptor ġeneriku li jqiegħed password tal-proxy fuq kull talba li toħroġ jista' jibgħatha fl-ambitu żbaljat.

Rapporti storiċi jiddeskrivu wkoll bugs fl-implimentazzjoni, inkluża l-immaniġġjar tal-korp tat-tweġiba tal-proxy miċħuda. Irreġistra l-verżjoni ta' OkHttp u l-iskambju finali qabel ma tattribwixxi falliment preżenti lil rapport qadim. Id-deċiżjoni tar-riprova xorta għandha twaqqaf tentattiv ta' kredenzjali bla tibdil li m'għandux tweġiba ġdida utli.

Artikli relatati