From: Mathieu Baudier Date: Sun, 28 Apr 2019 16:12:57 +0000 (+0200) Subject: Start working on web socket authentication X-Git-Tag: argeo-commons-2.1.77~6 X-Git-Url: https://git.argeo.org/?a=commitdiff_plain;h=4a8f313e757fa1f02ee0f4695b8a2f7d00401695;p=lgpl%2Fargeo-commons.git Start working on web socket authentication --- diff --git a/org.argeo.ext.equinox.jetty/src/org/argeo/equinox/jetty/WebSocketJettyCustomizer.java b/org.argeo.ext.equinox.jetty/src/org/argeo/equinox/jetty/WebSocketJettyCustomizer.java index 6c868875f..e59bbc012 100644 --- a/org.argeo.ext.equinox.jetty/src/org/argeo/equinox/jetty/WebSocketJettyCustomizer.java +++ b/org.argeo.ext.equinox.jetty/src/org/argeo/equinox/jetty/WebSocketJettyCustomizer.java @@ -1,12 +1,18 @@ package org.argeo.equinox.jetty; +import java.net.HttpCookie; import java.util.Dictionary; +import java.util.List; import javax.servlet.ServletException; -import javax.websocket.server.ServerContainer; +import javax.servlet.http.HttpSession; import org.eclipse.equinox.http.jetty.JettyCustomizer; import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.websocket.api.UpgradeRequest; +import org.eclipse.jetty.websocket.common.WebSocketSession; +import org.eclipse.jetty.websocket.common.WebSocketSessionListener; +import org.eclipse.jetty.websocket.jsr356.server.ServerContainer; import org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; @@ -35,10 +41,27 @@ public class WebSocketJettyCustomizer extends JettyCustomizer { ServerContainer serverContainer; try { serverContainer = WebSocketServerContainerInitializer.configureContext(servletContextHandler); +// serverContainer.addSessionListener(new WebSocketSessionListener() { +// +// @Override +// public void onSessionOpened(WebSocketSession session) { +// UpgradeRequest upgradeRequest = session.getUpgradeRequest(); +// List cookies = upgradeRequest.getCookies(); +// System.out.println("Upgrade request cookies : " + cookies); +// HttpSession httpSession = (HttpSession) upgradeRequest.getSession(); +// System.out.println("Upgrade request session ID : " + httpSession.getId()); +// } +// +// @Override +// public void onSessionClosed(WebSocketSession session) { +// // TODO Auto-generated method stub +// +// } +// }); } catch (ServletException e) { throw new IllegalStateException("Cannot configure web sockets", e); } - bc.registerService(ServerContainer.class, serverContainer, null); + bc.registerService(javax.websocket.server.ServerContainer.class, serverContainer, null); // ServiceTracker endpointsTracker = new ServiceTracker( // bc, ServerEndpointConfig.Builder.class, null) { //