Apache HttpClient tuntee salasanan mutta saa silti 407:n
Sovita Apache HttpClientin välityspalvelimen tunnistetiedot todelliseen välityspalvelinreittiin ja erota todennushaaste epäonnistuneesta kirjautumisesta.
Oikea salasana palveluntarjoajalla ei luo vastaavaa tunnistetietoa todella valitulle välityspalvelimelle. Aloita kyseisen päätepisteen skeemasta, isäntänimestä ja portista; isäntäkenttä hyväksyy yleensä vain isäntänimen tai IP:n, ei täyttä URL-osoitetta.
- Lue koko todennusvaihto. Yksi 407, jota seuraa hyväksytty uudelleenyritys voi olla normaali. Varmista, että lopputulos on edelleen 407, ennen kuin pidät kirjautumista hylättynä.
- Vertaa reittiä ja tunnistetietojen laajuutta. Sovita todellinen isäntä/portti ja muut kentät, jotka käyttöönotettu HttpClient 5 AuthScope määrittää. Väärä portti voi jättää BasicCredentialsProviderin ilman sopivaa merkintää.
- Tarkista metodi ja identiteetti. Tarjosiko välityspalvelin tuetun metodin? Käyttikö uudelleenyritys odotettua yhteyttä? Vaatiiko operaattori verkkotunnuksella kelpuutetun tilin tai muun dokumentoidun muodon?
Käytä asennetun pääversion APIa. HttpClient 4:n todennusvälimuistiresepti ei siirry sellaisenaan versioon 5. Käytä operaattorin tilivaatimuksia sen sijaan, että kiertäisit mielivaltaisia käyttäjänimimuunnelmia.
Ennakoiva todennus on toinen tietoinen valinta. Yhteensopivalla skeemalla se voi poistaa yhden edestakaisen kierroksen, mutta muuttaa sitä, milloin tunnistetiedot lähtevät, ja vaatii tuetun laajuuden. Se ei voi olla ensimmäinen korjaus yhteensopimattomalle päätepisteelle tai tukemattomalle metodille.
Pidä haastettu välityspalvelimen identiteetti, metodi, laajuusvastine ja lopputila redaktoidussa diagnostiikassa. Salasanaa ja raakoja tunnistetietoja sisältäviä jälkiä ei tarvita siihen vertailuun.