Working SPNEGO HTTP client
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 21 Jul 2022 09:45:37 +0000 (11:45 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 21 Jul 2022 09:45:37 +0000 (11:45 +0200)
org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java
org.argeo.cms/src/org/argeo/cms/client/WsPing.java
org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsContextImpl.java
org.argeo.cms/src/org/argeo/cms/internal/runtime/jaas-ipa.cfg

index 21a32940bfed6294e85c4f6a10b1846f4fcb1665..42313dd4198cbaca331f68e768c49f8ce0984e1b 100644 (file)
@@ -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<Integer>() {
-//
-//                             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<String> 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();
                }
index 0470b9f203317691edae558b375acd8e73625aa5..55d6f047fbe0c47e5f4d9eb8deeefa79ffa4f2e9 100644 (file)
@@ -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());
index 940e329a358fd8deab1a717d5471772d1d042eb2..cc98072a3827fd7a5836f700dab6a47fc7a0e2e1 100644 (file)
@@ -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();
        }
 
index d0928aac0ff1482953ead65fedbf61b628b71239..643e53d90db868b38d3d76e9ff076a6e49d6ec9a 100644 (file)
@@ -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;