From: Mathieu Baudier Date: Thu, 21 Jul 2022 09:45:37 +0000 (+0200) Subject: Working SPNEGO HTTP client X-Git-Tag: v2.3.10~99 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=9d9d1162fe48c4a13a6ef32d1e9b83ae116baae9 Working SPNEGO HTTP client --- diff --git a/org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java b/org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java index 21a32940b..42313dd41 100644 --- a/org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java +++ b/org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java @@ -3,7 +3,6 @@ package org.argeo.cms.client; import java.net.MalformedURLException; import java.net.URL; import java.net.http.HttpClient; -import java.net.http.HttpHeaders; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandler; @@ -40,17 +39,6 @@ public class SpnegoHttpClient { LoginContext lc = new LoginContext("SINGLE_USER"); lc.login(); -// int responseCode = Subject.doAs(lc.getSubject(), new PrivilegedExceptionAction() { -// -// public Integer run() throws Exception { - -// InputStream ins = u.openConnection().getInputStream(); -// BufferedReader reader = new BufferedReader(new InputStreamReader(ins)); -// String str; -// while ((str = reader.readLine()) != null) -// System.out.println(str); -// return 666; - HttpClient httpClient = openHttpClient(lc.getSubject()); String token = RemoteAuthUtils.getGssToken(lc.getSubject(), "HTTP", server); @@ -61,10 +49,7 @@ public class SpnegoHttpClient { HttpResponse response = httpClient.send(request, bodyHandler); System.out.println(response.body()); int responseCode = response.statusCode(); -// return response.statusCode(); -// } -// }); - System.out.println("Reponse code: " + responseCode); + System.exit(responseCode); } catch (Exception e) { e.printStackTrace(); } diff --git a/org.argeo.cms/src/org/argeo/cms/client/WsPing.java b/org.argeo.cms/src/org/argeo/cms/client/WsPing.java index 0470b9f20..55d6f047f 100644 --- a/org.argeo.cms/src/org/argeo/cms/client/WsPing.java +++ b/org.argeo.cms/src/org/argeo/cms/client/WsPing.java @@ -59,7 +59,6 @@ public class WsPing implements Runnable { while (!webSocket.isInputClosed()) { long begin = System.nanoTime(); -// ByteBuffer buffer = ByteBuffer.allocate(3 * Long.BYTES); ByteBuffer buffer = ByteBuffer.allocate(PING_FRAME_SIZE); buffer.putLong(uuid.getMostSignificantBits()); buffer.putLong(uuid.getLeastSignificantBits()); diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsContextImpl.java b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsContextImpl.java index 940e329a3..cc98072a3 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsContextImpl.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsContextImpl.java @@ -253,15 +253,9 @@ public class CmsContextImpl implements CmsContext { return getInstance(); } -// /** Required by USER login module. */ -// public synchronized static UserAdmin getUserAdmin() { -// return getInstance().userAdmin; -// } - /** Required by SPNEGO login module. */ - @Deprecated public synchronized static GSSCredential getAcceptorCredentials() { - // FIXME find a cleaner way + // TODO find a cleaner way return ((CmsUserAdmin) getInstance().userAdmin).getAcceptorCredentials(); } diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/jaas-ipa.cfg b/org.argeo.cms/src/org/argeo/cms/internal/runtime/jaas-ipa.cfg index d0928aac0..643e53d90 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/jaas-ipa.cfg +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/jaas-ipa.cfg @@ -16,7 +16,7 @@ DATA_ADMIN { NODE { com.sun.security.auth.module.Krb5LoginModule optional - keyTab="${osgi.instance.area}node/krb5.keytab" + keyTab="${osgi.instance.area}private/krb5.keytab" useKeyTab=true storeKey=true; org.argeo.cms.auth.DataAdminLoginModule requisite;