projects
/
lgpl
/
argeo-commons.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
40cdc5a
)
Support web socket over SSL
author
Mathieu Baudier <mbaudier@argeo.org>
Sat, 6 Aug 2022 07:38:20 +0000
(09:38 +0200)
committer
Mathieu Baudier <mbaudier@argeo.org>
Sat, 6 Aug 2022 07:38:20 +0000
(09:38 +0200)
org.argeo.api.cms/src/org/argeo/api/cms/CmsEvent.java
patch
|
blob
|
history
org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java
patch
|
blob
|
history
org.argeo.cms/src/org/argeo/cms/client/WebSocketEventClient.java
patch
|
blob
|
history
diff --git
a/org.argeo.api.cms/src/org/argeo/api/cms/CmsEvent.java
b/org.argeo.api.cms/src/org/argeo/api/cms/CmsEvent.java
index 04771727550ce38082ab02437925db3962590e17..6ec70feba2ba8c184d8eeb1f37772f671d54dc31 100644
(file)
--- a/
org.argeo.api.cms/src/org/argeo/api/cms/CmsEvent.java
+++ b/
org.argeo.api.cms/src/org/argeo/api/cms/CmsEvent.java
@@
-10,12
+10,11
@@
public interface CmsEvent {
String name();
default String topic() {
String name();
default String topic() {
- return getTopicBase() + "
/
" + name();
+ return getTopicBase() + "
.
" + name();
}
}
- default
String getTopicBase() {
- return "argeo
/
cms";
+ default String getTopicBase() {
+ return "argeo
.
cms";
}
}
-
}
}
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 fcbd7a73da778c5e62a6f8d5561bb658b86c2748..444f4efb54f3c164813edaedcea5e37d8681caa0 100644
(file)
--- a/
org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java
+++ b/
org.argeo.cms/src/org/argeo/cms/client/SpnegoHttpClient.java
@@
-66,7
+66,7
@@
public class SpnegoHttpClient {
}
}
}
}
-
private
static HttpClient openHttpClient(Subject subject) {
+ static HttpClient openHttpClient(Subject subject) {
HttpClient client = HttpClient.newBuilder() //
.sslContext(ipaSslContext()) //
.version(HttpClient.Version.HTTP_1_1) //
HttpClient client = HttpClient.newBuilder() //
.sslContext(ipaSslContext()) //
.version(HttpClient.Version.HTTP_1_1) //
diff --git
a/org.argeo.cms/src/org/argeo/cms/client/WebSocketEventClient.java
b/org.argeo.cms/src/org/argeo/cms/client/WebSocketEventClient.java
index 7a80c780662dff097fb1486532509428c4c92889..294b485fb450668352baac32a63e457ebd30233d 100644
(file)
--- a/
org.argeo.cms/src/org/argeo/cms/client/WebSocketEventClient.java
+++ b/
org.argeo.cms/src/org/argeo/cms/client/WebSocketEventClient.java
@@
-40,13
+40,13
@@
public class WebSocketEventClient {
};
// SPNEGO
};
// 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());
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.createGssToken(lc.getSubject(), "HTTP", uri.getHost());
lc.login();
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.getHeaderName(), HttpHeader.NEGOTIATE + " " + token)
.buildAsync(uri, listener);
CompletableFuture<WebSocket> ws = client.newWebSocketBuilder()
.header(HttpHeader.AUTHORIZATION.getHeaderName(), HttpHeader.NEGOTIATE + " " + token)
.buildAsync(uri, listener);