Jetty SPNEGO konfigūracijoje yra trys pavadinimai: URI, naudojamas autentifikacijai sutapatinti, vartotojas, prisijungiantis per JAAS, ir paslauga, kuriai prašoma bilieto. Jie turi skirtingas paskirtis.

Jetty 12.0.x diegimui autentifikacijos objekto fragmentas yra toks:

var auth = new org.eclipse.jetty.client.SPNEGOAuthentication(
    java.net.URI.create("http://proxy.example:8080"));
auth.setServiceName("HTTP");

Šis fragmentas iliustruoja paslaugos komponentą, o ne visą proxy autentifikacijos receptą. JAAS prisijungimas, proxy maršrutizavimas ir užklausos autentifikacijos mainai lieka atskiri.

Šiame diegime Jetty sukuria GSS hostu pagrįstą vardą sujungdamas getServiceName(), @ ženklą ir autentifikacijos mainų hostą. Nurodžius [email protected] kaip paslaugos komponentą, būtų pridėtas dar vienas hostas. Skaitykite šio setterio sutartį, o ne manykite, kad jis priima visą Kerberos principal.

Gautas GSS vardas turi konceptualią formą HTTP@hostname. Atitinkamas KDC paslaugos principal paprastai pateikiamas kaip HTTP/hostname. pasirinktas proxy vardas turi atitikti faktiškai registruotą paslaugą tam vartotojui; IP adresas arba slapyvardis gali pasirinkti kitą bilieto tikslą.

Patikrinkite ir 407 kelią

Jetty 12.0.x atveju authenticate() gauna GSS hosto vardą iš request.getHost() ir sukuria rezultatą su numatytuoju Authorization antrašte. Autentifikacijos objekto sutapatinimas pagal proxy URI savaime nekeičia šių pasirinkimų į proxy hosto vardą ir Proxy-Authorization.

Todėl proxy integracijai reikia teisingo užklausos hosto ir proxy apimties rezultato tiems mainams. HTTPS CONNECT užklausa ir įprasta kilmės užklausa gali turėti skirtingas hosto reikšmes. Patvirtinkite įdiegto diegimo elgseną, o ne manykite, kad paslaugos pavadinimo setteris suteikia visą 407 eigą.

Jei 407, patikrinkite proxy autentifikacijos mainus ir hostą, kurį naudojo ta užklausa. 401 priklauso kilmės autentifikacijai. Vien galiojantis vartotojo bilietas neįrodo, kad Jetty paprašė teisingo paslaugos bilieto arba kad tarpininkas jį priėmė.

Susiję straipsniai