Autentifikazio arrunta eskaintzen duen HTTP proxy baterako, OkHttp-ren proxyAuthenticator kredentzialak daramatzan eskaera bat itzul dezake. Itzuli null baimen saiakera bat jada baztertu ondoren, erantzun bera berriro bidali beharrean:

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

Zirriborro honek aplikazioaren konfigurazio sekretuko kontu-balioak erabiltzen ditu. Zaintzaileak hasierako saiakera bat baimentzen du eta errepikatutako bat gelditzen du. Basic ezartzen du, proxy batek iragar dezakeen eskema guztiak ez; aztertu erronka erantzun hori aukeratu aurretik.

Azken emaitza 407 bada, alderatu hautatutako proxy-a, iragarritako eskema eta dokumentatutako kontu-nortasuna. Baztertutako pasahitzak, onartzen ez den metodoak eta erabiltzaile-izen forma okerrak zuzenketa desberdinak behar dituzte. Gorde behaketa horiek eta azken egoera diagnostiko erredaktatuetan.

CONNECT-ek beste callback testuinguru bat du: OkHttp-ek proxy autentifikazioaren aurrez aurreko errorika sintetiko bat dokumentatzen du tunela ireki aurretik. Kudeatu testuinguru hori APIaren arabera, callback bakoitza helmugako erantzun arrunta dela suposatu beharrean.

Bereizi authenticator helmuga-zerbitzariaren autentifikaziorako da. Mantendu bere kredentzialak proxy saioa hasieratik bereizita; irteerako eskaera bakoitzean proxy pasahitza jartzen duen interceptor orokorrak esparru okerrean bidal dezake.

Txosten historikoek implementazio akatsak ere deskribatzen dituzte, baztertutako proxy erantzunaren gorputzaren tratamendua barne. Erregistratu OkHttp bertsioa eta azken trukea egungo huts bat txosten zahar bati egotzi aurretik. Berriro saiatzeko erabakiak oraindik gelditu behar du erantzun berri erabilgarririk ez duen kredentzial saiakera aldagaitza.

Erlazionatutako artikuluak