Support web socket over SSL
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / client / WebSocketEventClient.java
index 0787b04780c4d00890869514f263d9dbbaf52c32..294b485fb450668352baac32a63e457ebd30233d 100644 (file)
@@ -40,16 +40,17 @@ public class WebSocketEventClient {
                };
 
                // SPNEGO
-               URL jaasUrl = SpnegoHttpClient.class.getResource("jaas.cfg");
+               URL jaasUrl = SpnegoHttpClient.class.getResource("jaas-client-ipa.cfg");
                System.setProperty("java.security.auth.login.config", jaasUrl.toExternalForm());
-               LoginContext lc = new LoginContext("SINGLE_USER");
+               LoginContext lc = new LoginContext(SpnegoHttpClient.CLIENT_LOGIN_CONTEXT);
                lc.login();
-               String token = RemoteAuthUtils.getGssToken(lc.getSubject(), "HTTP", uri.getHost());
+               String token = RemoteAuthUtils.createGssToken(lc.getSubject(), "HTTP", uri.getHost());
 
-               HttpClient client = HttpClient.newHttpClient();
+               HttpClient client = SpnegoHttpClient.openHttpClient(lc.getSubject());
                CompletableFuture<WebSocket> ws = client.newWebSocketBuilder()
-                               .header(HttpHeader.AUTHORIZATION.getName(), HttpHeader.NEGOTIATE + " " + token)
+                               .header(HttpHeader.AUTHORIZATION.getHeaderName(), HttpHeader.NEGOTIATE + " " + token)
                                .buildAsync(uri, listener);
+
                WebSocket webSocket = ws.get();
                webSocket.request(Long.MAX_VALUE);