diff --git a/artemis-distribution/pom.xml b/artemis-distribution/pom.xml
index 1e31f331..daee7e66 100644
--- a/artemis-distribution/pom.xml
+++ b/artemis-distribution/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples
artemis-examples-build
- 2.53.0
+ 2.54.0-SNAPSHOT
artemis-distribution
diff --git a/examples/features/broker-connection/amqp-bridge/pom.xml b/examples/features/broker-connection/amqp-bridge/pom.xml
index 4dbbab08..87ffa310 100644
--- a/examples/features/broker-connection/amqp-bridge/pom.xml
+++ b/examples/features/broker-connection/amqp-bridge/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-bridge
diff --git a/examples/features/broker-connection/amqp-federation-multicast-fanout/pom.xml b/examples/features/broker-connection/amqp-federation-multicast-fanout/pom.xml
index d27c024e..6deb08a0 100644
--- a/examples/features/broker-connection/amqp-federation-multicast-fanout/pom.xml
+++ b/examples/features/broker-connection/amqp-federation-multicast-fanout/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation-multicast-fanout
diff --git a/examples/features/broker-connection/amqp-federation-multicast-hub-spoke/pom.xml b/examples/features/broker-connection/amqp-federation-multicast-hub-spoke/pom.xml
index 74138760..1b4049fc 100644
--- a/examples/features/broker-connection/amqp-federation-multicast-hub-spoke/pom.xml
+++ b/examples/features/broker-connection/amqp-federation-multicast-hub-spoke/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation-multicast-hub-spoke
diff --git a/examples/features/broker-connection/amqp-federation-multicast-ring/pom.xml b/examples/features/broker-connection/amqp-federation-multicast-ring/pom.xml
index d2f2093e..31240097 100644
--- a/examples/features/broker-connection/amqp-federation-multicast-ring/pom.xml
+++ b/examples/features/broker-connection/amqp-federation-multicast-ring/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation-multicast-ring
diff --git a/examples/features/broker-connection/amqp-federation-over-ssl/pom.xml b/examples/features/broker-connection/amqp-federation-over-ssl/pom.xml
index 0027d1e6..0ed9fadf 100644
--- a/examples/features/broker-connection/amqp-federation-over-ssl/pom.xml
+++ b/examples/features/broker-connection/amqp-federation-over-ssl/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation-over-ssl
diff --git a/examples/features/broker-connection/amqp-federation-queue-dual-federation/pom.xml b/examples/features/broker-connection/amqp-federation-queue-dual-federation/pom.xml
index 177f9b63..911287b4 100644
--- a/examples/features/broker-connection/amqp-federation-queue-dual-federation/pom.xml
+++ b/examples/features/broker-connection/amqp-federation-queue-dual-federation/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation-queue-dual-federation
diff --git a/examples/features/broker-connection/amqp-federation-queue-multiple-brokers/pom.xml b/examples/features/broker-connection/amqp-federation-queue-multiple-brokers/pom.xml
index d5d3ac7d..7580569e 100644
--- a/examples/features/broker-connection/amqp-federation-queue-multiple-brokers/pom.xml
+++ b/examples/features/broker-connection/amqp-federation-queue-multiple-brokers/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation-queue-multiple-brokers
diff --git a/examples/features/broker-connection/amqp-federation-queue-priority/pom.xml b/examples/features/broker-connection/amqp-federation-queue-priority/pom.xml
index bca157f4..9beb18e8 100644
--- a/examples/features/broker-connection/amqp-federation-queue-priority/pom.xml
+++ b/examples/features/broker-connection/amqp-federation-queue-priority/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation-queue-priority
diff --git a/examples/features/broker-connection/amqp-federation-queue-pull-messages/pom.xml b/examples/features/broker-connection/amqp-federation-queue-pull-messages/pom.xml
index 50779ca0..282c5a54 100644
--- a/examples/features/broker-connection/amqp-federation-queue-pull-messages/pom.xml
+++ b/examples/features/broker-connection/amqp-federation-queue-pull-messages/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation-queue-pull-messages
diff --git a/examples/features/broker-connection/amqp-federation/pom.xml b/examples/features/broker-connection/amqp-federation/pom.xml
index 6c286224..a35c2eb2 100644
--- a/examples/features/broker-connection/amqp-federation/pom.xml
+++ b/examples/features/broker-connection/amqp-federation/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-federation
diff --git a/examples/features/broker-connection/amqp-receiving-messages/pom.xml b/examples/features/broker-connection/amqp-receiving-messages/pom.xml
index b564ab85..a883c635 100644
--- a/examples/features/broker-connection/amqp-receiving-messages/pom.xml
+++ b/examples/features/broker-connection/amqp-receiving-messages/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-receiving-messages
diff --git a/examples/features/broker-connection/amqp-sending-messages-multicast/pom.xml b/examples/features/broker-connection/amqp-sending-messages-multicast/pom.xml
index d7df1c18..fa8db49f 100644
--- a/examples/features/broker-connection/amqp-sending-messages-multicast/pom.xml
+++ b/examples/features/broker-connection/amqp-sending-messages-multicast/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-sending-messages-multicast
diff --git a/examples/features/broker-connection/amqp-sending-messages/pom.xml b/examples/features/broker-connection/amqp-sending-messages/pom.xml
index c31fe824..b972544a 100644
--- a/examples/features/broker-connection/amqp-sending-messages/pom.xml
+++ b/examples/features/broker-connection/amqp-sending-messages/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-sending-messages
diff --git a/examples/features/broker-connection/amqp-sending-overssl/pom.xml b/examples/features/broker-connection/amqp-sending-overssl/pom.xml
index cf808be7..49eaba5e 100644
--- a/examples/features/broker-connection/amqp-sending-overssl/pom.xml
+++ b/examples/features/broker-connection/amqp-sending-overssl/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
amqp-ssl-enabled
diff --git a/examples/features/broker-connection/disaster-recovery/pom.xml b/examples/features/broker-connection/disaster-recovery/pom.xml
index da97ce63..0e31f843 100644
--- a/examples/features/broker-connection/disaster-recovery/pom.xml
+++ b/examples/features/broker-connection/disaster-recovery/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
disaster-recovery
diff --git a/examples/features/broker-connection/ha-with-dual-mirror/pom.xml b/examples/features/broker-connection/ha-with-dual-mirror/pom.xml
index ec0e3189..99e9112f 100644
--- a/examples/features/broker-connection/ha-with-dual-mirror/pom.xml
+++ b/examples/features/broker-connection/ha-with-dual-mirror/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
ha-with-dual-mirror
diff --git a/examples/features/broker-connection/ha-with-mesh-mirror/pom.xml b/examples/features/broker-connection/ha-with-mesh-mirror/pom.xml
index 7279ab9b..fe20e659 100644
--- a/examples/features/broker-connection/ha-with-mesh-mirror/pom.xml
+++ b/examples/features/broker-connection/ha-with-mesh-mirror/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker-connection
broker-connections
- 2.53.0
+ 2.54.0-SNAPSHOT
ha-with-mesh-mirror
@@ -79,6 +79,8 @@ under the License.
${basedir}/target/server0
true
${basedir}/target/classes/artemis/server0
+ false
+ 1
@@ -91,6 +93,8 @@ under the License.
${basedir}/target/server1
true
${basedir}/target/classes/artemis/server1
+ false
+ 2
@@ -103,6 +107,8 @@ under the License.
${basedir}/target/server2
true
${basedir}/target/classes/artemis/server2
+ false
+ 3
diff --git a/examples/features/broker-connection/pom.xml b/examples/features/broker-connection/pom.xml
index bd7ef96c..a1fb794f 100644
--- a/examples/features/broker-connection/pom.xml
+++ b/examples/features/broker-connection/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-features
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.broker-connection
diff --git a/examples/features/clustered/client-side-load-balancing/pom.xml b/examples/features/clustered/client-side-load-balancing/pom.xml
index 4024f4e1..ed80fd42 100644
--- a/examples/features/clustered/client-side-load-balancing/pom.xml
+++ b/examples/features/clustered/client-side-load-balancing/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
client-side-load-balancing
diff --git a/examples/features/clustered/clustered-durable-subscription/pom.xml b/examples/features/clustered/clustered-durable-subscription/pom.xml
index 08f72048..c3ffedf9 100644
--- a/examples/features/clustered/clustered-durable-subscription/pom.xml
+++ b/examples/features/clustered/clustered-durable-subscription/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-durable-subscription
diff --git a/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml
index 4b86dadb..8b899105 100644
--- a/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server0/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml
index e22a8cee..8083ed82 100644
--- a/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-durable-subscription/src/main/resources/activemq/server1/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-grouping/pom.xml b/examples/features/clustered/clustered-grouping/pom.xml
index 2ff33dad..61a0f7b3 100644
--- a/examples/features/clustered/clustered-grouping/pom.xml
+++ b/examples/features/clustered/clustered-grouping/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-grouping
diff --git a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server0/broker.xml
index 9ee69f58..2c2f0a6d 100644
--- a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server0/broker.xml
@@ -58,6 +58,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server1/broker.xml
index fa926f7b..c6f1fc3f 100644
--- a/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-grouping/src/main/resources/activemq/server1/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-jgroups/pom.xml b/examples/features/clustered/clustered-jgroups/pom.xml
index f5df1988..55e4f8f6 100644
--- a/examples/features/clustered/clustered-jgroups/pom.xml
+++ b/examples/features/clustered/clustered-jgroups/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-jgroups
diff --git a/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server0/broker.xml
index 5bb12347..4b1bf424 100644
--- a/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server0/broker.xml
@@ -58,6 +58,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server1/broker.xml
index 55310622..1dbd3817 100644
--- a/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-jgroups/src/main/resources/activemq/server1/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-queue/pom.xml b/examples/features/clustered/clustered-queue/pom.xml
index ab55114a..1706e6a8 100644
--- a/examples/features/clustered/clustered-queue/pom.xml
+++ b/examples/features/clustered/clustered-queue/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-queue
diff --git a/examples/features/clustered/clustered-queue/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-queue/src/main/resources/activemq/server0/broker.xml
index 452ad362..83d16969 100644
--- a/examples/features/clustered/clustered-queue/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-queue/src/main/resources/activemq/server0/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-queue/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-queue/src/main/resources/activemq/server1/broker.xml
index 5bfc79fe..46b4dda3 100644
--- a/examples/features/clustered/clustered-queue/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-queue/src/main/resources/activemq/server1/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-static-discovery-uri/pom.xml b/examples/features/clustered/clustered-static-discovery-uri/pom.xml
index 83b2bab1..d40b8319 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/pom.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-static-discovery-uri
diff --git a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server0/broker.xml
index 9bb273da..f127ba38 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server0/broker.xml
@@ -39,6 +39,9 @@ under the License.
tcp://localhost:61616
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server1/broker.xml
index 9e335d6a..d6d90b65 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server1/broker.xml
@@ -38,6 +38,9 @@ under the License.
tcp://localhost:61617
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml
index e4929343..cf8a8b55 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server2/broker.xml
@@ -36,6 +36,9 @@
tcp://localhost:61618
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml
index 915c5c82..e780ec28 100644
--- a/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery-uri/src/main/resources/activemq/server3/broker.xml
@@ -36,6 +36,9 @@
tcp://localhost:61619
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-static-discovery/pom.xml b/examples/features/clustered/clustered-static-discovery/pom.xml
index 318b5e33..0b490dae 100644
--- a/examples/features/clustered/clustered-static-discovery/pom.xml
+++ b/examples/features/clustered/clustered-static-discovery/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-static-discovery
diff --git a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml
index 3d55545a..258683ed 100644
--- a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server0/broker.xml
@@ -41,6 +41,9 @@ under the License.
tcp://localhost:61616
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml
index c1fcaa75..075ae538 100644
--- a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server1/broker.xml
@@ -40,6 +40,9 @@ under the License.
tcp://localhost:61617
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml
index d88570e2..61cbeeb1 100644
--- a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server2/broker.xml
@@ -38,6 +38,9 @@
tcp://localhost:61618
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml
index 6757e567..afb365ba 100644
--- a/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml
+++ b/examples/features/clustered/clustered-static-discovery/src/main/resources/activemq/server3/broker.xml
@@ -38,6 +38,9 @@
tcp://localhost:61619
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-static-oneway/pom.xml b/examples/features/clustered/clustered-static-oneway/pom.xml
index cc38f5ca..2b02ce55 100644
--- a/examples/features/clustered/clustered-static-oneway/pom.xml
+++ b/examples/features/clustered/clustered-static-oneway/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-static-oneway
diff --git a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml
index a6f03dfa..34ba51ed 100644
--- a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server0/broker.xml
@@ -41,6 +41,9 @@
tcp://localhost:61616
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml
index ea626203..900fce12 100644
--- a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server1/broker.xml
@@ -40,6 +40,9 @@
tcp://localhost:61617
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml
index dd5e3903..e7e55cd2 100644
--- a/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/clustered-static-oneway/src/main/resources/activemq/server2/broker.xml
@@ -38,6 +38,9 @@
tcp://localhost:61618
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-topic-uri/pom.xml b/examples/features/clustered/clustered-topic-uri/pom.xml
index d40b77a4..acff8013 100644
--- a/examples/features/clustered/clustered-topic-uri/pom.xml
+++ b/examples/features/clustered/clustered-topic-uri/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-topic-uri
diff --git a/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server0/broker.xml
index d6e9ef8b..f1ba5472 100644
--- a/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server0/broker.xml
@@ -58,6 +58,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server1/broker.xml
index 9450a559..d7c800c6 100644
--- a/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-topic-uri/src/main/resources/activemq/server1/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
diff --git a/examples/features/clustered/clustered-topic/pom.xml b/examples/features/clustered/clustered-topic/pom.xml
index 9e3d70cb..131f8559 100644
--- a/examples/features/clustered/clustered-topic/pom.xml
+++ b/examples/features/clustered/clustered-topic/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-topic
diff --git a/examples/features/clustered/clustered-topic/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/clustered-topic/src/main/resources/activemq/server0/broker.xml
index 466f0ee8..caf2556e 100644
--- a/examples/features/clustered/clustered-topic/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/clustered-topic/src/main/resources/activemq/server0/broker.xml
@@ -58,6 +58,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/clustered-topic/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/clustered-topic/src/main/resources/activemq/server1/broker.xml
index dfa7b8b6..573f83ce 100644
--- a/examples/features/clustered/clustered-topic/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/clustered-topic/src/main/resources/activemq/server1/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/pom.xml b/examples/features/clustered/pom.xml
index 974eb425..2b8e78c6 100644
--- a/examples/features/clustered/pom.xml
+++ b/examples/features/clustered/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-features
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.clustered
diff --git a/examples/features/clustered/queue-message-redistribution/pom.xml b/examples/features/clustered/queue-message-redistribution/pom.xml
index d677d47a..dbe65fcc 100644
--- a/examples/features/clustered/queue-message-redistribution/pom.xml
+++ b/examples/features/clustered/queue-message-redistribution/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
queue-message-redistribution
diff --git a/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server0/broker.xml
index a6910573..d75d4a92 100644
--- a/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server0/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server1/broker.xml
index c6bc92b7..eb05b837 100644
--- a/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/queue-message-redistribution/src/main/resources/activemq/server1/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/shared-storage-static-cluster/pom.xml b/examples/features/clustered/shared-storage-static-cluster/pom.xml
index b6215c41..88dfe450 100644
--- a/examples/features/clustered/shared-storage-static-cluster/pom.xml
+++ b/examples/features/clustered/shared-storage-static-cluster/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
shared-storage-static-cluster
diff --git a/examples/features/clustered/symmetric-cluster/pom.xml b/examples/features/clustered/symmetric-cluster/pom.xml
index 73ed4b2d..ceb85eb3 100644
--- a/examples/features/clustered/symmetric-cluster/pom.xml
+++ b/examples/features/clustered/symmetric-cluster/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-clustered
- 2.53.0
+ 2.54.0-SNAPSHOT
symmetric-cluster
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server0/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server0/broker.xml
index c5539911..3223428f 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server0/broker.xml
@@ -59,6 +59,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server1/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server1/broker.xml
index e4cd0463..292e1c6f 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server1/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server2/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server2/broker.xml
index 3289e4cb..187827d5 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server2/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server3/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server3/broker.xml
index 30e5c1ea..0ba73933 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server3/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server3/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server4/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server4/broker.xml
index 7b2a1104..e657c971 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server4/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server4/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server5/broker.xml b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server5/broker.xml
index e8acf784..1267ebd4 100644
--- a/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server5/broker.xml
+++ b/examples/features/clustered/symmetric-cluster/src/main/resources/activemq/server5/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/connection-router/evenly-redirect/pom.xml b/examples/features/connection-router/evenly-redirect/pom.xml
index add157fd..69e2bf61 100644
--- a/examples/features/connection-router/evenly-redirect/pom.xml
+++ b/examples/features/connection-router/evenly-redirect/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples
connection-router
- 2.53.0
+ 2.54.0-SNAPSHOT
evenly-redirect
diff --git a/examples/features/connection-router/pom.xml b/examples/features/connection-router/pom.xml
index 9b64d6e1..b781f82e 100644
--- a/examples/features/connection-router/pom.xml
+++ b/examples/features/connection-router/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-features
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples
diff --git a/examples/features/connection-router/symmetric-redirect/pom.xml b/examples/features/connection-router/symmetric-redirect/pom.xml
index 84efa49b..75ea851f 100644
--- a/examples/features/connection-router/symmetric-redirect/pom.xml
+++ b/examples/features/connection-router/symmetric-redirect/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples
connection-router
- 2.53.0
+ 2.54.0-SNAPSHOT
symmetric-redirect
diff --git a/examples/features/connection-router/symmetric-simple/pom.xml b/examples/features/connection-router/symmetric-simple/pom.xml
index 81a864fb..94ab9d66 100644
--- a/examples/features/connection-router/symmetric-simple/pom.xml
+++ b/examples/features/connection-router/symmetric-simple/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples
connection-router
- 2.53.0
+ 2.54.0-SNAPSHOT
symmetric-simple
diff --git a/examples/features/federation/federated-address-divert/pom.xml b/examples/features/federation/federated-address-divert/pom.xml
index 1bdbc94e..b024fff3 100644
--- a/examples/features/federation/federated-address-divert/pom.xml
+++ b/examples/features/federation/federated-address-divert/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.federation
broker-federation
- 2.53.0
+ 2.54.0-SNAPSHOT
federated-address-divert
diff --git a/examples/features/federation/federated-address-downstream-upstream/pom.xml b/examples/features/federation/federated-address-downstream-upstream/pom.xml
index 5ec3915a..3fd3f9fe 100644
--- a/examples/features/federation/federated-address-downstream-upstream/pom.xml
+++ b/examples/features/federation/federated-address-downstream-upstream/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.federation
broker-federation
- 2.53.0
+ 2.54.0-SNAPSHOT
federated-address-downstream-upstream
diff --git a/examples/features/federation/federated-address-downstream/pom.xml b/examples/features/federation/federated-address-downstream/pom.xml
index 404db210..9a62de8c 100644
--- a/examples/features/federation/federated-address-downstream/pom.xml
+++ b/examples/features/federation/federated-address-downstream/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.federation
broker-federation
- 2.53.0
+ 2.54.0-SNAPSHOT
federated-address-downstream
diff --git a/examples/features/federation/federated-address/pom.xml b/examples/features/federation/federated-address/pom.xml
index 72f8b01d..de67ae05 100644
--- a/examples/features/federation/federated-address/pom.xml
+++ b/examples/features/federation/federated-address/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.federation
broker-federation
- 2.53.0
+ 2.54.0-SNAPSHOT
federated-address
diff --git a/examples/features/federation/federated-queue-downstream-upstream/pom.xml b/examples/features/federation/federated-queue-downstream-upstream/pom.xml
index 9543cd17..a02f3af9 100644
--- a/examples/features/federation/federated-queue-downstream-upstream/pom.xml
+++ b/examples/features/federation/federated-queue-downstream-upstream/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.federation
broker-federation
- 2.53.0
+ 2.54.0-SNAPSHOT
federated-queue-downstream-upstream
diff --git a/examples/features/federation/federated-queue-downstream/pom.xml b/examples/features/federation/federated-queue-downstream/pom.xml
index 77a2ecb6..6641ac2b 100644
--- a/examples/features/federation/federated-queue-downstream/pom.xml
+++ b/examples/features/federation/federated-queue-downstream/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.federation
broker-federation
- 2.53.0
+ 2.54.0-SNAPSHOT
federated-queue-downstream
diff --git a/examples/features/federation/federated-queue/pom.xml b/examples/features/federation/federated-queue/pom.xml
index d0c0d3fb..e5317474 100644
--- a/examples/features/federation/federated-queue/pom.xml
+++ b/examples/features/federation/federated-queue/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.federation
broker-federation
- 2.53.0
+ 2.54.0-SNAPSHOT
federated-queue
diff --git a/examples/features/federation/pom.xml b/examples/features/federation/pom.xml
index 066ec3cc..22acd45e 100644
--- a/examples/features/federation/pom.xml
+++ b/examples/features/federation/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-features
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.federation
diff --git a/examples/features/ha/application-layer-failover/pom.xml b/examples/features/ha/application-layer-failover/pom.xml
index bad58362..8d3b5892 100644
--- a/examples/features/ha/application-layer-failover/pom.xml
+++ b/examples/features/ha/application-layer-failover/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
application-layer-failover
diff --git a/examples/features/ha/client-side-failoverlistener/pom.xml b/examples/features/ha/client-side-failoverlistener/pom.xml
index 71da39fa..6f02a8c8 100644
--- a/examples/features/ha/client-side-failoverlistener/pom.xml
+++ b/examples/features/ha/client-side-failoverlistener/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
client-side-failoverlistener
diff --git a/examples/features/ha/colocated-failover-scale-down/pom.xml b/examples/features/ha/colocated-failover-scale-down/pom.xml
index 12f36899..8cd4fb87 100644
--- a/examples/features/ha/colocated-failover-scale-down/pom.xml
+++ b/examples/features/ha/colocated-failover-scale-down/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
colocated-failover-scale-down
diff --git a/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml
index 38a76337..caa39a46 100644
--- a/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server0/broker.xml
@@ -58,6 +58,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml
index 08e387c4..783d80ec 100644
--- a/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/colocated-failover-scale-down/src/main/resources/activemq/server1/broker.xml
@@ -58,6 +58,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/colocated-failover/pom.xml b/examples/features/ha/colocated-failover/pom.xml
index cf4e98cd..ca763c3b 100644
--- a/examples/features/ha/colocated-failover/pom.xml
+++ b/examples/features/ha/colocated-failover/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
colocated-failover
diff --git a/examples/features/ha/colocated-failover/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/colocated-failover/src/main/resources/activemq/server0/broker.xml
index 69427a84..30ebc6f7 100644
--- a/examples/features/ha/colocated-failover/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/colocated-failover/src/main/resources/activemq/server0/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/colocated-failover/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/colocated-failover/src/main/resources/activemq/server1/broker.xml
index ef3b4171..c1644f75 100644
--- a/examples/features/ha/colocated-failover/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/colocated-failover/src/main/resources/activemq/server1/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/ha-policy-autobackup/pom.xml b/examples/features/ha/ha-policy-autobackup/pom.xml
index 3f66871f..9c59edad 100644
--- a/examples/features/ha/ha-policy-autobackup/pom.xml
+++ b/examples/features/ha/ha-policy-autobackup/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
ha-policy-autobackup
diff --git a/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml
index a06f1695..a0c57517 100644
--- a/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server0/broker.xml
@@ -65,6 +65,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml
index b0102ffa..bab7f678 100644
--- a/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/ha-policy-autobackup/src/main/resources/activemq/server1/broker.xml
@@ -65,6 +65,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/multiple-failover-failback/pom.xml b/examples/features/ha/multiple-failover-failback/pom.xml
index 3d6b392a..7a0ad718 100644
--- a/examples/features/ha/multiple-failover-failback/pom.xml
+++ b/examples/features/ha/multiple-failover-failback/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
multiple-failover-failback
diff --git a/examples/features/ha/multiple-failover/pom.xml b/examples/features/ha/multiple-failover/pom.xml
index 11c536ac..ec7ecf9b 100644
--- a/examples/features/ha/multiple-failover/pom.xml
+++ b/examples/features/ha/multiple-failover/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
multiple-failover
diff --git a/examples/features/ha/non-transaction-failover/pom.xml b/examples/features/ha/non-transaction-failover/pom.xml
index b2e81106..59408c0d 100644
--- a/examples/features/ha/non-transaction-failover/pom.xml
+++ b/examples/features/ha/non-transaction-failover/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
non-transaction-failover
diff --git a/examples/features/ha/pom.xml b/examples/features/ha/pom.xml
index 1353dc1a..761fab12 100644
--- a/examples/features/ha/pom.xml
+++ b/examples/features/ha/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-features
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.failover
diff --git a/examples/features/ha/replicated-failback-static/pom.xml b/examples/features/ha/replicated-failback-static/pom.xml
index ff29262f..1dd499bf 100644
--- a/examples/features/ha/replicated-failback-static/pom.xml
+++ b/examples/features/ha/replicated-failback-static/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
replicated-failback-static
diff --git a/examples/features/ha/replicated-failback/pom.xml b/examples/features/ha/replicated-failback/pom.xml
index 3b124c82..9cdbca7f 100644
--- a/examples/features/ha/replicated-failback/pom.xml
+++ b/examples/features/ha/replicated-failback/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
replicated-failback
diff --git a/examples/features/ha/replicated-multiple-failover/pom.xml b/examples/features/ha/replicated-multiple-failover/pom.xml
index ecf38778..e823ab49 100644
--- a/examples/features/ha/replicated-multiple-failover/pom.xml
+++ b/examples/features/ha/replicated-multiple-failover/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
replicated-multiple-failover
diff --git a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server0/broker.xml
index fa4d9ec5..3bdbbdac 100644
--- a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server0/broker.xml
@@ -61,6 +61,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server1/broker.xml
index 963a567e..e2dcd0b2 100644
--- a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server1/broker.xml
@@ -61,6 +61,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server2/broker.xml b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server2/broker.xml
index 4b170ce5..74e1affc 100644
--- a/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server2/broker.xml
+++ b/examples/features/ha/replicated-multiple-failover/src/main/resources/activemq/server2/broker.xml
@@ -61,6 +61,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/replicated-transaction-failover/pom.xml b/examples/features/ha/replicated-transaction-failover/pom.xml
index d29f48d3..79cc0fff 100644
--- a/examples/features/ha/replicated-transaction-failover/pom.xml
+++ b/examples/features/ha/replicated-transaction-failover/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
replicated-transaction-failover
diff --git a/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server0/broker.xml
index 23cb9f88..a1d2133d 100644
--- a/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server0/broker.xml
@@ -62,6 +62,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server1/broker.xml
index 96ca80b0..e9f44a52 100644
--- a/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/replicated-transaction-failover/src/main/resources/activemq/server1/broker.xml
@@ -62,6 +62,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/scale-down/pom.xml b/examples/features/ha/scale-down/pom.xml
index b32c24bc..2565d040 100644
--- a/examples/features/ha/scale-down/pom.xml
+++ b/examples/features/ha/scale-down/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
scale-down
diff --git a/examples/features/ha/scale-down/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/scale-down/src/main/resources/activemq/server0/broker.xml
index 1be0a4fa..2a582056 100644
--- a/examples/features/ha/scale-down/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/scale-down/src/main/resources/activemq/server0/broker.xml
@@ -56,6 +56,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/scale-down/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/scale-down/src/main/resources/activemq/server1/broker.xml
index 23437bf1..6c3b65bd 100644
--- a/examples/features/ha/scale-down/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/scale-down/src/main/resources/activemq/server1/broker.xml
@@ -57,6 +57,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/stop-server-failover/pom.xml b/examples/features/ha/stop-server-failover/pom.xml
index 2fea1d46..7ef2bc9a 100644
--- a/examples/features/ha/stop-server-failover/pom.xml
+++ b/examples/features/ha/stop-server-failover/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
stop-server-failover
diff --git a/examples/features/ha/transaction-failover/pom.xml b/examples/features/ha/transaction-failover/pom.xml
index f2904c85..8c83b534 100644
--- a/examples/features/ha/transaction-failover/pom.xml
+++ b/examples/features/ha/transaction-failover/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
transaction-failover
diff --git a/examples/features/ha/transaction-failover/src/main/resources/activemq/server0/broker.xml b/examples/features/ha/transaction-failover/src/main/resources/activemq/server0/broker.xml
index 8617372c..aa80caaf 100644
--- a/examples/features/ha/transaction-failover/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/ha/transaction-failover/src/main/resources/activemq/server0/broker.xml
@@ -64,6 +64,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/transaction-failover/src/main/resources/activemq/server1/broker.xml b/examples/features/ha/transaction-failover/src/main/resources/activemq/server1/broker.xml
index 450405fb..eb156265 100644
--- a/examples/features/ha/transaction-failover/src/main/resources/activemq/server1/broker.xml
+++ b/examples/features/ha/transaction-failover/src/main/resources/activemq/server1/broker.xml
@@ -63,6 +63,9 @@ under the License.
+ my-cluster-user
+ my-cluster-password
+
netty-connector
diff --git a/examples/features/ha/zookeeper-single-pair-failback/pom.xml b/examples/features/ha/zookeeper-single-pair-failback/pom.xml
index f620e10e..a75842ce 100644
--- a/examples/features/ha/zookeeper-single-pair-failback/pom.xml
+++ b/examples/features/ha/zookeeper-single-pair-failback/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.failover
broker-failover
- 2.53.0
+ 2.54.0-SNAPSHOT
zookeeper-single-pair-failback
diff --git a/examples/features/perf/perf/pom.xml b/examples/features/perf/perf/pom.xml
index 50533b76..fad6ed5f 100644
--- a/examples/features/perf/perf/pom.xml
+++ b/examples/features/perf/perf/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.soak
perf-root
- 2.53.0
+ 2.54.0-SNAPSHOT
openwire-perf
diff --git a/examples/features/perf/pom.xml b/examples/features/perf/pom.xml
index a974afbc..4093f767 100644
--- a/examples/features/perf/pom.xml
+++ b/examples/features/perf/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-features
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.soak
diff --git a/examples/features/perf/soak/pom.xml b/examples/features/perf/soak/pom.xml
index 0c42c186..d8e4bdd9 100644
--- a/examples/features/perf/soak/pom.xml
+++ b/examples/features/perf/soak/pom.xml
@@ -28,7 +28,7 @@ under the License.
org.apache.artemis.examples.soak
perf-root
- 2.53.0
+ 2.54.0-SNAPSHOT
diff --git a/examples/features/pom.xml b/examples/features/pom.xml
index 5f9a33a0..e6e75e94 100644
--- a/examples/features/pom.xml
+++ b/examples/features/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples
artemis-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.clustered
diff --git a/examples/features/standard/auto-closeable/pom.xml b/examples/features/standard/auto-closeable/pom.xml
index 77623060..3585735a 100644
--- a/examples/features/standard/auto-closeable/pom.xml
+++ b/examples/features/standard/auto-closeable/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
auto-closeable
diff --git a/examples/features/standard/broker-msg-auth-plugin/pom.xml b/examples/features/standard/broker-msg-auth-plugin/pom.xml
index ff15a41c..71915b84 100644
--- a/examples/features/standard/broker-msg-auth-plugin/pom.xml
+++ b/examples/features/standard/broker-msg-auth-plugin/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
broker-msg-auth-plugin
diff --git a/examples/features/standard/broker-plugin/pom.xml b/examples/features/standard/broker-plugin/pom.xml
index c5d1c362..d94ba905 100644
--- a/examples/features/standard/broker-plugin/pom.xml
+++ b/examples/features/standard/broker-plugin/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
broker-plugin
diff --git a/examples/features/standard/browser/pom.xml b/examples/features/standard/browser/pom.xml
index 7ce34652..e0ed6bd0 100644
--- a/examples/features/standard/browser/pom.xml
+++ b/examples/features/standard/browser/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
browser
diff --git a/examples/features/standard/camel/camel-broker/pom.xml b/examples/features/standard/camel/camel-broker/pom.xml
index c4cbea5d..f59556b6 100644
--- a/examples/features/standard/camel/camel-broker/pom.xml
+++ b/examples/features/standard/camel/camel-broker/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker.camel
camel
- 2.53.0
+ 2.54.0-SNAPSHOT
camel-broker
diff --git a/examples/features/standard/camel/camel-war/pom.xml b/examples/features/standard/camel/camel-war/pom.xml
index 375e8537..3fb007b8 100644
--- a/examples/features/standard/camel/camel-war/pom.xml
+++ b/examples/features/standard/camel/camel-war/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker.camel
camel
- 2.53.0
+ 2.54.0-SNAPSHOT
camel-war
diff --git a/examples/features/standard/camel/pom.xml b/examples/features/standard/camel/pom.xml
index b0f7c8a0..214976c4 100644
--- a/examples/features/standard/camel/pom.xml
+++ b/examples/features/standard/camel/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.broker.camel
diff --git a/examples/features/standard/cdi/pom.xml b/examples/features/standard/cdi/pom.xml
index 1f13d565..b0715aed 100644
--- a/examples/features/standard/cdi/pom.xml
+++ b/examples/features/standard/cdi/pom.xml
@@ -24,7 +24,7 @@
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
cdi
diff --git a/examples/features/standard/client-kickoff/pom.xml b/examples/features/standard/client-kickoff/pom.xml
index 61eddb6a..e7006f1a 100644
--- a/examples/features/standard/client-kickoff/pom.xml
+++ b/examples/features/standard/client-kickoff/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
client-kickoff
diff --git a/examples/features/standard/completion-listener/pom.xml b/examples/features/standard/completion-listener/pom.xml
index 1eff0c5c..3c02409f 100644
--- a/examples/features/standard/completion-listener/pom.xml
+++ b/examples/features/standard/completion-listener/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
completion-listener
diff --git a/examples/features/standard/consumer-rate-limit/pom.xml b/examples/features/standard/consumer-rate-limit/pom.xml
index 9cd5ba36..942c3e81 100644
--- a/examples/features/standard/consumer-rate-limit/pom.xml
+++ b/examples/features/standard/consumer-rate-limit/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
consumer-rate-limit
diff --git a/examples/features/standard/context/pom.xml b/examples/features/standard/context/pom.xml
index 17074ef0..0c384426 100644
--- a/examples/features/standard/context/pom.xml
+++ b/examples/features/standard/context/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
context
diff --git a/examples/features/standard/core-bridge/pom.xml b/examples/features/standard/core-bridge/pom.xml
index 2ac6daa0..b22ebda5 100644
--- a/examples/features/standard/core-bridge/pom.xml
+++ b/examples/features/standard/core-bridge/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
core-bridge
diff --git a/examples/features/standard/core-bridge/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/core-bridge/src/main/resources/activemq/server0/broker.xml
index 50471ba4..8bf0f5ee 100644
--- a/examples/features/standard/core-bridge/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/core-bridge/src/main/resources/activemq/server0/broker.xml
@@ -54,6 +54,8 @@ under the License.
org.apache.activemq.artemis.jms.example.HatColourChangeTransformer
-1
+ my-bridge-user
+ my-bridge-password
remote-connector
diff --git a/examples/features/standard/database/pom.xml b/examples/features/standard/database/pom.xml
index 41254561..84b104b0 100644
--- a/examples/features/standard/database/pom.xml
+++ b/examples/features/standard/database/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
database
diff --git a/examples/features/standard/dead-letter/pom.xml b/examples/features/standard/dead-letter/pom.xml
index 9d9ed041..362ebd00 100644
--- a/examples/features/standard/dead-letter/pom.xml
+++ b/examples/features/standard/dead-letter/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
dead-letter
diff --git a/examples/features/standard/delayed-redelivery/pom.xml b/examples/features/standard/delayed-redelivery/pom.xml
index e3e6b755..6019dc06 100644
--- a/examples/features/standard/delayed-redelivery/pom.xml
+++ b/examples/features/standard/delayed-redelivery/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
delayed-redelivery
diff --git a/examples/features/standard/divert/pom.xml b/examples/features/standard/divert/pom.xml
index 7c08608f..571ca68e 100644
--- a/examples/features/standard/divert/pom.xml
+++ b/examples/features/standard/divert/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
divert
jar
diff --git a/examples/features/standard/divert/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/divert/src/main/resources/activemq/server0/broker.xml
index 020338df..7b12f0b0 100644
--- a/examples/features/standard/divert/src/main/resources/activemq/server0/broker.xml
+++ b/examples/features/standard/divert/src/main/resources/activemq/server0/broker.xml
@@ -74,6 +74,8 @@ under the License.
priceForwarding
newYorkPriceUpdates
-1
+ my-bridge-user
+ my-bridge-password
newyork-connector
diff --git a/examples/features/standard/durable-subscription/pom.xml b/examples/features/standard/durable-subscription/pom.xml
index f4cf44e7..bdf756f6 100644
--- a/examples/features/standard/durable-subscription/pom.xml
+++ b/examples/features/standard/durable-subscription/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
durable-subscription
diff --git a/examples/features/standard/embedded-simple/pom.xml b/examples/features/standard/embedded-simple/pom.xml
index 27ac6d6d..b47dc910 100644
--- a/examples/features/standard/embedded-simple/pom.xml
+++ b/examples/features/standard/embedded-simple/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
embedded-simple
diff --git a/examples/features/standard/embedded/pom.xml b/examples/features/standard/embedded/pom.xml
index 73ac2ab7..d1bada6d 100644
--- a/examples/features/standard/embedded/pom.xml
+++ b/examples/features/standard/embedded/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
embedded
diff --git a/examples/features/standard/exclusive-queue/pom.xml b/examples/features/standard/exclusive-queue/pom.xml
index e868b5e2..e490fbf2 100644
--- a/examples/features/standard/exclusive-queue/pom.xml
+++ b/examples/features/standard/exclusive-queue/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
exclusive-queue
diff --git a/examples/features/standard/expiry/pom.xml b/examples/features/standard/expiry/pom.xml
index 07610ed7..da1cafb9 100644
--- a/examples/features/standard/expiry/pom.xml
+++ b/examples/features/standard/expiry/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
expiry
diff --git a/examples/features/standard/http-transport/pom.xml b/examples/features/standard/http-transport/pom.xml
index 1314d9c3..e13ace17 100644
--- a/examples/features/standard/http-transport/pom.xml
+++ b/examples/features/standard/http-transport/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
http-transport
diff --git a/examples/features/standard/instantiate-connection-factory/pom.xml b/examples/features/standard/instantiate-connection-factory/pom.xml
index f96c46f0..a335b426 100644
--- a/examples/features/standard/instantiate-connection-factory/pom.xml
+++ b/examples/features/standard/instantiate-connection-factory/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
instantiate-connection-factory
diff --git a/examples/features/standard/interceptor-amqp/pom.xml b/examples/features/standard/interceptor-amqp/pom.xml
index 03caa46b..233fa08a 100644
--- a/examples/features/standard/interceptor-amqp/pom.xml
+++ b/examples/features/standard/interceptor-amqp/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
interceptor-amqp
diff --git a/examples/features/standard/interceptor-client/pom.xml b/examples/features/standard/interceptor-client/pom.xml
index c624916d..44206161 100644
--- a/examples/features/standard/interceptor-client/pom.xml
+++ b/examples/features/standard/interceptor-client/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
interceptor-client
diff --git a/examples/features/standard/interceptor-mqtt/pom.xml b/examples/features/standard/interceptor-mqtt/pom.xml
index e8f6789a..1b78e422 100644
--- a/examples/features/standard/interceptor-mqtt/pom.xml
+++ b/examples/features/standard/interceptor-mqtt/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
interceptor-mqtt
diff --git a/examples/features/standard/interceptor/pom.xml b/examples/features/standard/interceptor/pom.xml
index ef496c01..64b287ea 100644
--- a/examples/features/standard/interceptor/pom.xml
+++ b/examples/features/standard/interceptor/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
interceptor
diff --git a/examples/features/standard/jms-bridge/pom.xml b/examples/features/standard/jms-bridge/pom.xml
index 9e3f8b7b..cdf3cb83 100644
--- a/examples/features/standard/jms-bridge/pom.xml
+++ b/examples/features/standard/jms-bridge/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
jms-bridge
diff --git a/examples/features/standard/jmx-ssl/pom.xml b/examples/features/standard/jmx-ssl/pom.xml
index a0eac0d4..509500cf 100644
--- a/examples/features/standard/jmx-ssl/pom.xml
+++ b/examples/features/standard/jmx-ssl/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
jmx-ssl
diff --git a/examples/features/standard/jmx/pom.xml b/examples/features/standard/jmx/pom.xml
index 488b8716..318e3bfa 100644
--- a/examples/features/standard/jmx/pom.xml
+++ b/examples/features/standard/jmx/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
jmx
diff --git a/examples/features/standard/large-message/pom.xml b/examples/features/standard/large-message/pom.xml
index 880ff2af..492dea4f 100644
--- a/examples/features/standard/large-message/pom.xml
+++ b/examples/features/standard/large-message/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
large-message
diff --git a/examples/features/standard/last-value-queue/pom.xml b/examples/features/standard/last-value-queue/pom.xml
index f879e567..37e47d92 100644
--- a/examples/features/standard/last-value-queue/pom.xml
+++ b/examples/features/standard/last-value-queue/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
last-value-queue
diff --git a/examples/features/standard/management-notifications/pom.xml b/examples/features/standard/management-notifications/pom.xml
index a0023627..3ed46d34 100644
--- a/examples/features/standard/management-notifications/pom.xml
+++ b/examples/features/standard/management-notifications/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
management-notifications
diff --git a/examples/features/standard/management/pom.xml b/examples/features/standard/management/pom.xml
index de3dcbac..a59930e0 100644
--- a/examples/features/standard/management/pom.xml
+++ b/examples/features/standard/management/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
management
diff --git a/examples/features/standard/message-counters/pom.xml b/examples/features/standard/message-counters/pom.xml
index cc09fe7f..493945e7 100644
--- a/examples/features/standard/message-counters/pom.xml
+++ b/examples/features/standard/message-counters/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
message-counters
diff --git a/examples/features/standard/message-group/pom.xml b/examples/features/standard/message-group/pom.xml
index 2c345e2c..f024928b 100644
--- a/examples/features/standard/message-group/pom.xml
+++ b/examples/features/standard/message-group/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
message-group
diff --git a/examples/features/standard/message-group2/pom.xml b/examples/features/standard/message-group2/pom.xml
index 23f27588..58a05e24 100644
--- a/examples/features/standard/message-group2/pom.xml
+++ b/examples/features/standard/message-group2/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
message-group2
diff --git a/examples/features/standard/message-priority/pom.xml b/examples/features/standard/message-priority/pom.xml
index 153bf104..41c2b52f 100644
--- a/examples/features/standard/message-priority/pom.xml
+++ b/examples/features/standard/message-priority/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
message-priority
diff --git a/examples/features/standard/netty-openssl/pom.xml b/examples/features/standard/netty-openssl/pom.xml
index 12457658..6a29d490 100644
--- a/examples/features/standard/netty-openssl/pom.xml
+++ b/examples/features/standard/netty-openssl/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
netty-openssl
diff --git a/examples/features/standard/no-consumer-buffering/pom.xml b/examples/features/standard/no-consumer-buffering/pom.xml
index dbb0117b..77259065 100644
--- a/examples/features/standard/no-consumer-buffering/pom.xml
+++ b/examples/features/standard/no-consumer-buffering/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
no-consumer-buffering
diff --git a/examples/features/standard/opentelemetry/pom.xml b/examples/features/standard/opentelemetry/pom.xml
index 8925e7b2..8d216285 100644
--- a/examples/features/standard/opentelemetry/pom.xml
+++ b/examples/features/standard/opentelemetry/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
opentelemetry
diff --git a/examples/features/standard/paging/pom.xml b/examples/features/standard/paging/pom.xml
index 2415493b..c1d4f899 100644
--- a/examples/features/standard/paging/pom.xml
+++ b/examples/features/standard/paging/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
paging
diff --git a/examples/features/standard/pom.xml b/examples/features/standard/pom.xml
index 8f65a849..7324380d 100644
--- a/examples/features/standard/pom.xml
+++ b/examples/features/standard/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-features
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.broker
@@ -93,6 +93,7 @@ under the License.
scheduled-message
security
security-keycloak
+ security-oidc
security-ldap
security-manager
send-acknowledgements
diff --git a/examples/features/standard/pre-acknowledge/pom.xml b/examples/features/standard/pre-acknowledge/pom.xml
index 74dc5dd3..2539cd5e 100644
--- a/examples/features/standard/pre-acknowledge/pom.xml
+++ b/examples/features/standard/pre-acknowledge/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
pre-acknowledge
diff --git a/examples/features/standard/producer-rate-limit/pom.xml b/examples/features/standard/producer-rate-limit/pom.xml
index 7310c872..467bf578 100644
--- a/examples/features/standard/producer-rate-limit/pom.xml
+++ b/examples/features/standard/producer-rate-limit/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
producer-rate-limit
diff --git a/examples/features/standard/queue-jakarta/pom.xml b/examples/features/standard/queue-jakarta/pom.xml
index f0561091..adeedc59 100644
--- a/examples/features/standard/queue-jakarta/pom.xml
+++ b/examples/features/standard/queue-jakarta/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
queue-jakarta
diff --git a/examples/features/standard/queue-requestor/pom.xml b/examples/features/standard/queue-requestor/pom.xml
index 6e07f58d..dd8f8275 100644
--- a/examples/features/standard/queue-requestor/pom.xml
+++ b/examples/features/standard/queue-requestor/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
queue-requestor
diff --git a/examples/features/standard/queue-selector/pom.xml b/examples/features/standard/queue-selector/pom.xml
index 79721e16..e93063f7 100644
--- a/examples/features/standard/queue-selector/pom.xml
+++ b/examples/features/standard/queue-selector/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
queue-selector
diff --git a/examples/features/standard/queue/pom.xml b/examples/features/standard/queue/pom.xml
index 0b732280..04c9d13b 100644
--- a/examples/features/standard/queue/pom.xml
+++ b/examples/features/standard/queue/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
queue
diff --git a/examples/features/standard/reattach-node/pom.xml b/examples/features/standard/reattach-node/pom.xml
index a82fa1fa..3a32ad5c 100644
--- a/examples/features/standard/reattach-node/pom.xml
+++ b/examples/features/standard/reattach-node/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
reattach-node
diff --git a/examples/features/standard/request-reply/pom.xml b/examples/features/standard/request-reply/pom.xml
index 1c6a1889..dd920d21 100644
--- a/examples/features/standard/request-reply/pom.xml
+++ b/examples/features/standard/request-reply/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
request-reply
diff --git a/examples/features/standard/scheduled-message/pom.xml b/examples/features/standard/scheduled-message/pom.xml
index b070af5a..df3b0447 100644
--- a/examples/features/standard/scheduled-message/pom.xml
+++ b/examples/features/standard/scheduled-message/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
scheduled-message
diff --git a/examples/features/standard/security-keycloak/pom.xml b/examples/features/standard/security-keycloak/pom.xml
index 92c27aa5..42a74f1c 100644
--- a/examples/features/standard/security-keycloak/pom.xml
+++ b/examples/features/standard/security-keycloak/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
security-keycloak
diff --git a/examples/features/standard/security-ldap/pom.xml b/examples/features/standard/security-ldap/pom.xml
index 1b1e1ab5..c9ebe93c 100644
--- a/examples/features/standard/security-ldap/pom.xml
+++ b/examples/features/standard/security-ldap/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
security-ldap
diff --git a/examples/features/standard/security-manager/pom.xml b/examples/features/standard/security-manager/pom.xml
index 45120a7d..5beb30f3 100644
--- a/examples/features/standard/security-manager/pom.xml
+++ b/examples/features/standard/security-manager/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
security-manager
diff --git a/examples/features/standard/security-oidc/pom.xml b/examples/features/standard/security-oidc/pom.xml
new file mode 100644
index 00000000..6071db5a
--- /dev/null
+++ b/examples/features/standard/security-oidc/pom.xml
@@ -0,0 +1,182 @@
+
+
+
+
+ 4.0.0
+
+
+ org.apache.artemis.examples.broker
+ jms-examples
+ 2.53.0
+
+
+ security-oidc
+ jar
+ Apache Artemis JMS Security with OpenID Connect Example
+
+
+ ${project.basedir}/../../../..
+ 26.5.6
+ 3.5.0.Final
+ false
+ ${noKeycloakServer}
+
+
+
+
+ org.apache.artemis
+ artemis-jms-client
+ ${project.version}
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
+ provided
+
+
+
+
+
+
+ com.googlecode.maven-download-plugin
+ download-maven-plugin
+ 1.6.1
+
+
+ install-keycloak
+ pre-integration-test
+
+ wget
+
+
+ https://github.com/keycloak/keycloak/releases/download/${version.org.keycloak}/keycloak-${version.org.keycloak}.tar.gz
+ true
+ false
+ ${skipDownloadKc}
+
+
+
+
+
+ org.apache.artemis
+ artemis-maven-plugin
+
+
+ create
+ pre-integration-test
+
+ create
+
+
+ ${noServer}
+ false
+
+ -Dhawtio.realm=console
+
+
+
+ start
+ verify
+
+ cli
+
+
+ ${noServer}
+ true
+
+ run
+
+
+
+
+ runClient
+ verify
+
+ runClient
+
+
+ org.apache.activemq.artemis.jms.example.OIDCSecurityExample
+
+
+
+ stop
+ verify
+
+ stop
+
+
+ ${noServer}
+
+
+
+
+
+ org.apache.artemis.examples.broker
+ security-oidc
+ ${project.version}
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+
+
+ run-keycloak
+ pre-integration-test
+
+ exec
+
+
+ ${noKeycloakServer}
+ true
+ true
+ ./target/keycloak-${version.org.keycloak}/bin/kc.sh
+
+ start-dev
+ -Dkeycloak.migration.action=import
+ -Dkeycloak.migration.provider=singleFile
+ -Dkeycloak.migration.file=./src/main/resources/artemis-keycloak-demo-realm.json
+
+
+
+
+ wait-for-keycloak
+ pre-integration-test
+
+ java
+
+
+ ${noKeycloakServer}
+ org.apache.activemq.artemis.jms.example.Sleep
+
+ 12000
+
+
+
+
+
+
+
+
diff --git a/examples/features/standard/security-oidc/readme.md b/examples/features/standard/security-oidc/readme.md
new file mode 100644
index 00000000..b380cfb7
--- /dev/null
+++ b/examples/features/standard/security-oidc/readme.md
@@ -0,0 +1,326 @@
+# JMS Security OpenID Connect Example
+
+If you have not already done so, [prepare the broker distribution](../../../../README.md#getting-started) before running the example.
+
+This example is a fully rewritten version of previous example which worked only with https://www.keycloak.org[Keycloak server].
+Here's a list of important changes and differences:
+
+ - While the example uses Keycloak as an OpenID Connect provider, after minimal configuration changes this example should also work with other providers and there's no need to use any dedicated Keycloak (or other) libraries
+ - This example obtains a JWT access token itself, and no password is sent to Artemis Broker
+ - There are 3 (instead of 2) OpenID Connect _clients_ used (more on that later)
+
+There are two main parts of this readme file. In the first one we'll simply show how to run and experiment with the example. Second
+part contains more details about the underlying technology (OAuth2 and OpenID Connect).
+
+## Components used in the example
+
+There are four components involved when running this example:
+
+- Artemis Broker - acts a server that allows accessing _resources_ like addresses/queues. Both a browser application (the console using HTTP protocol) and non-browser applications (messaging clients using messaging protocols like AMQP) access the broker
+- Artemis Console - a web application which allows human operators to access the broker
+- Messaging client using JMS API - Java example which accesses Artemis Broker without human interaction
+- OAuth2/OpenID Connect provider (in this example - Keycloak server) - a component that issues access tokens and is trusted by the Artemis Server, Artemis Console and the messaging client
+
+## Running the example
+
+To run the example, simply type **mvn verify** from this directory, or **mvn -PnoServer verify** if you want to start and create the broker manually.
+
+`verify` is the last Maven phase before `install` and involves all previous phases that lead to a phase where integration tests are run.
+
+Maven build performs additional steps in `pre-integration-test` phase:
+
+1. Specified Keycloak distribution archive is downloaded and unpacked (unless `-DskipDownloadKc` is used)
+2. Artemis broker instance is created in `target/server0`
+
+During `verify phase`:
+
+1. Keycloak server is started asynchronously, but we await for a configured amount of time before starting the broker
+2. Previously created broker instance is started
+3. The example `org.apache.activemq.artemis.jms.example.OIDCSecurityExample` is run
+4. Broker instance is stopped
+4. Keycloak server is stopped
+
+### How does `OIDCSecurityExample` work?
+
+There's nothing special when using JWT token as credentials. JMS API doesn't know the concept of a _token_, so the only
+place to pass a token is the `password` field.
+Discussion on the evolution of JMS API is beyond the scope of this example.
+
+Here's what the example is doing:
+
+1. Waiting for Keycloak server going online (http://localhost:8080/realms/artemis-keycloak-demo/.well-known/openid-configuration can be reached)
+2. `Info` queue and proper `javax.jms.ConnectionFactory` is obtained from JNDI
+3. JWT access token is obtained using JDK HTTP Client from a [token endpoint](http://localhost:8080/realms/artemis-keycloak-demo/protocol/openid-connect/token)
+4. The JWT access token is passed as `password` to `javax.jms.ConnectionFactory.createConnection()` method
+5. `javax.jms.MessageConsumer.receive()` is called awaiting for a message to become available.
+
+JWT token is obtained from Keycloak using `artemis-client` OIDC client.
+
+While the example awaits for any message to be available in `Info` queue, user needs to log into Artemis Console.
+
+When browsing to http://localhost:8161/console/artemis a login screen will be presented:
+
+
+
+There's only one login option which uses OpenID Connect "Standard Flow". Artemis Console is based on [Hawtio console](https://hawt.io/) and OIDC authentication is configured using [hawtio-oidc.properties](src/main/resources/activemq/server0/hawtio-oidc.properties) file (more on that later).
+
+Clicking the "Keycloak@localhost" button redirects the user to Keycloak authentication screen and we can enter actual user credentials for one of these available users:
+
+ - `mdoe` with `password` password - this user has `guest` role of `artemis-console` client assigned
+ - `jdoe` with `password` password - this user doesn't have `guest` role from `artemis-console` client assigned
+
+Artemis Console is configured with `HAWTIO_ROLES='guest'` and `hawtio-oidc.properties` contains:
+
+ oidc.rolesPath = resource_access.artemis-console.roles
+
+It means that only a user which has `guest` role local to `artemis-console` OIDC client (not a global role in Keycloak) can log in to the console.
+
+After successfully logging in as `mdoe`, user needs to:
+
+1. Go to Artemis tab on the left (if not selected by default)
+2. Go to Queues tab in main panel
+3. Select dotted menu on the right of "Info" Queue and chose "Send Message"
+4. Type some message content and click "Send" button
+
+Finally `OIDCSecurityExample` can get a message from `javax.jms.MessageConsumer.receive()` call and print it to the screen. Here's a console output showing both the token validation performed at the server side and the client output:
+
+ server-out:2026-04-08 12:28:39,827 DEBUG [org.apache.activemq.artemis.spi.core.security.jaas.OIDCLoginModule] OIDCLoginModule initialized with debug information
+ server-out:2026-04-08 12:28:39,855 DEBUG [org.apache.activemq.artemis.spi.core.security.jaas.oidc.SharedHttpClientAccess] Created new HTTP Client for accessing OIDC provider at http://localhost:8080/realms/artemis-keycloak-demo
+ server-out:2026-04-08 12:28:39,857 DEBUG [org.apache.activemq.artemis.spi.core.security.jaas.oidc.SharedOIDCMetadataAccess] Fetching OIDC Metadata from http://localhost:8080/realms/artemis-keycloak-demo/.well-known/openid-configuration
+ server-out:2026-04-08 12:28:39,882 DEBUG [org.apache.activemq.artemis.spi.core.security.jaas.oidc.SharedOIDCMetadataAccess] Fetching JWK set from http://localhost:8080/realms/artemis-keycloak-demo/protocol/openid-connect/certs
+ server-out:2026-04-08 12:28:39,928 DEBUG [org.apache.activemq.artemis.spi.core.security.jaas.OIDCLoginModule] JAAS login successful for JWT token with jti=trrtcc:fcf33fb8-aba7-6a08-9e78-967776520e16, aud=[artemis-broker]
+ server-out:2026-04-08 12:28:39,929 DEBUG [org.apache.activemq.artemis.spi.core.security.jaas.OIDCLoginModule] Found identities: ad657385-7381-4130-8fba-3acd8825cc7c
+ server-out:2026-04-08 12:28:39,929 DEBUG [org.apache.activemq.artemis.spi.core.security.jaas.OIDCLoginModule] Found roles: amq, guest
+ ...
+ ---------------------received: ActiveMQMessage[null]:PERSISTENT/ClientMessageImpl[messageID=2147484094, durable=true, address=Info::Info,userID=null, properties=TypedProperties[_AMQ_ROUTING_TYPE=1]]
+ ---------------------received: Hello!
+
+## OpenID Connect and OAuth2
+
+It is worth to highlight some important concepts defined in these specifications:
+
+ - [RFC 6749 - The OAuth 2.0 Authorization Framework](https://datatracker.ietf.org/doc/html/rfc6749)
+ - [OpenID Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html)
+
+OpenID Connect is quite thin layer on top of OAuth2 which clarifies some generic concepts and entities introduced in OAuth2 (most importantly a token called "ID token").
+
+Let's quickly summarize 4 important concepts: _tokens_, _resource owners_, _clients_ and _flows_.
+
+**Access token**: A replacement for traditional _credentials_ (like username and password). A token encapsulates attributes
+like scope, lifetime, issuer, destination (audience) and is used to access specific _resource_ by some _client_.
+
+**Resource** and **Resource Owner**: In traditional architecture an accessed _resource_ is simply a _server_ which provides some functionality.
+OAuth2 specification introduces the concept of a _resource_ (and its _owner_) which represents something that can be accessed and is much more fine grained than entire _server_. In the context of Apache Artemis, a _resource_ may be an entire messaging broker, but also a single address/queue.
+
+**Client**: This term is more similar to traditional role of a _client_ (in client-server architecture) and represents an actual component that initiates some access to the above defined _resource_. The important aspect is that a _client_ may act on its own behalf or (which in OAuth2 is more common scenario) on behalf of actual _resource owner_ (i.e., not on its own behalf).
+
+At this stage we can highlight important feature of OAuth2 - _clients_ access _resources_ using _access tokens_ issued by the OAuth2/OpenID Connect provider after being granted a permission of actual _resource owner_. Special scenario is when _clients_ access _resources_ without any permission from any _resource owner_ and only after the provider authenticates the _client_ itself.
+
+**Authorization Flow**: a series of requests (HTTP) between _clients_, _providers_ and servers allowing access to the _resources_. These
+flows are initiated by _clients_ and lead to a state where an OAuth2/OpenID Connect _provider_ issues an _access token_ that can be used
+by these _clients_ to access _resources_.
+
+### OAuth2 authorization flows
+
+Original [OAuth 2.0 specification](https://datatracker.ietf.org/doc/html/rfc6749) defines 4 _authorization flows_, but some other documents
+and specifications (like [RFC 9700 - Best Current Practice for OAuth 2.0 Security](https://datatracker.ietf.org/doc/html/rfc9700)) strongly arguments against some of them and only two actual flows are recommended for two different scenarios (see further about how these are used
+by this example).
+
+1. [Authorization Code Grant](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1) - a _full_ flow recommended to be used by browser applications, like Artemis Console. Here, a _resource owner_ is a human user navigating the console and a _client_ is the browser application itself.
+2. [Client Credentials Grant](https://datatracker.ietf.org/doc/html/rfc6749#section-4.4) - authorization flow which does not involve a _resource owner_. This is a scenario where two applications (like message sender and message broker) communicate without human interaction.
+
+We'll refer to the above flows when showing how the example actually works and how an OpenID Connect provider (here: Keycloak) is configured.
+
+### Keycloak configuration
+
+> **Note:** This section is specific to Keycloak, but very similar configuration should work with other OAuth2/OpenID Connect providers.
+
+This example includes `artemis-keycloak-demo-realm.json` file which is used by Maven build to configure a Keycloak instance. This file adds
+`artemis-keycloak-demo` Keycloak realm for the purpose of this example.
+
+After starting the Keycloak server, we can access its console using `admin`/`admin` credentials and http://localhost:8080/admin/master/console/#/artemis-keycloak-demo URL.
+
+There are 3 _clients_ defined in this realm:
+
+ - `artemis-console`: this _client_ represents a browser application (Artemis Console) which is operated by human user and has one `Standard flow` enabled (OAuth2 "Authorization Code Grant" flow). This flow involves redirection to Keycloak UI, obtaining user credentials and redirecting back to the application which gets the token to be used later when accessing Jolokia API exposed by Artemis Broker.
+ - `artemis-client`: this _client_ represents a non-interactive JMS client which accesses Artemis Broker _as itself_. This _client_ has only "Service account roles" flow enabled (OAuth2 "Client Credentials Grant" flow). In this flow, JMS client uses JDK HTTP Client to get the access token directly using "client credentials" (as opposed to the "Standard flow", where human user enters own credentials).
+ - `artemis-broker`: this _client_ represents Artemis Broker itself and ... doesn't define any OAuth2 flows. It means this client can never be granted any tokens! However such client fits perfectly into the OAuth2 architecture - other _clients_ may obtain obtain _access tokens_ which explicitly include this `artemis-broker` _client_ as "target audience". More details just below.
+
+#### Users and roles
+
+Keycloak allows to define roles which are global to the entire realm or specific to a particular _client_.
+`artemis-keycloak-demo` Keycloak realm doesn't define any specific global (realm) roles, but there are some client-specific ones:
+
+ - `guest` role in `artemis-console` client
+ - `guest` role in `artemis-broker` client
+ - `amq` role in `artemis-broker` client
+
+There are also two users defined in `artemis-keycloak-demo` Keycloak realm:
+
+ - `jdoe` (password: `password`) with no roles from `artemis-console` client and `guest` role from `artemis-broker` client
+ - `mdoe` (password: `password`) with `guest` role from `artemis-console` client and `guest` + `amq` roles from `artemis-broker` client
+
+These _human users_ may be used to login to Artemis Console using web browser, but only `mdoe` user will get access.
+
+Additionally, `artemis-client` _client_ is a non-interactive client with "Service account roles" flow enabled. This means that this _client_ is never acting on behalf of any other user (only on behalf of itself). When this flow is enabled, Keycloak adds special "Service account roles" tab to the _client_ configuration and `artemis-client` has these roles assigned:
+
+ - `guest` role from `artemis-broker`
+ - `amq` role from `artemis-broker`
+
+#### Target audience and granted permissions/roles
+
+OAuth2 (and OpenID Connect too) being an authorization framework can be used in variety of scenarios and may depend on actual content of the token being issued. When the token is complaint with [RFC 7519 - JWT](https://datatracker.ietf.org/doc/html/rfc7519) specification, tokens may include (among others) these _claims_:
+
+- _audience_ (`aud` claim) specify the recipient of the token. A recipient (like Artemis Broker) may reject tokens which are _destined to_ other recipients
+- _roles_ (each provider puts the roles under different JSON fields) specify a set of roles assigned to the entity on behalf of which the token was issued.
+
+There's an advanced, but important concept related to access tokens. The relation between OAuth2/OpenID Connect clients, users and roles is critical to understand how OAuth2 can impact the security architecture of the system being designed.
+Special [Automatically add audience based on client roles](https://www.keycloak.org/docs/latest/server_admin/index.html#_audience_resolve) section in Keycloak documentation (similar behavior can be implemented using other providers) describes how the roles assigned to users or clients are translated into the _target audience_.
+
+In particular, `artemis-client` _client_ has been assigned with `amq` and `guest` roles from `artemis-broker` _client_. Here's some information extracted from actual JWT token granted to `artemis-client` over a `Client Credentials Grant` flow:
+
+```json
+{
+ "exp": 1775570162,
+ "iat": 1775569862,
+ "jti": "trrtcc:0d9e5bf7-226a-52df-2a23-27f2269ffadd",
+ "iss": "http://localhost:8080/realms/artemis-keycloak-demo",
+ "aud": "artemis-broker",
+ ...
+ "azp": "artemis-client",
+ ...
+ "resource_access": {
+ "artemis-broker": {
+ "roles": [
+ "amq",
+ "guest"
+ ]
+ }
+ },
+ ...
+ "client_id": "artemis-client"
+}
+```
+
+1. `resource_access.artemis-broker.roles` is a Keycloak-specific way to include client's roles in the JWT token
+2. `aud = artemis-broker` is added because `artemis-client` has been assigned with roles specific to `artemis-broker` client
+3. `azp` and `client_id` contain information about the _client_ trying to access a server (Artemis Broker itself) being represented by `artemis-broker` _client_.
+
+### Artemis Broker configuration
+
+The broker is configured to use the 'activemq' jaas domain (so called "application name") via the 'jaas-security' domain in
+bootstrap.xml.
+
+```xml
+
+```
+
+This `activemq` _domain_ is a key into `etc/login.config` file, like:
+
+```
+activemq {
+ org.apache.activemq.artemis.spi.core.security.jaas.OIDCLoginModule required
+ key1=value1
+ key2=value2
+ ...
+ ;
+};
+```
+
+The broker.xml security-settings for the `Info` address, it locks down consumption to users with the "amq" role while
+users with the "guest" role can send messages.
+
+```xml
+
+
+
+
+
+
+
+
+
+```
+
+`activemq` JAAS realm is using a new OIDC LoginModule from Artemis and here's its full configuration:
+
+```
+activemq {
+
+ org.apache.activemq.artemis.spi.core.security.jaas.OIDCLoginModule required
+ debug=true
+
+ provider="http://localhost:8080/realms/artemis-keycloak-demo"
+ audience="artemis-broker"
+ identityPaths=sub
+ rolesPaths="resource_access.artemis-broker.roles"
+ ;
+};
+```
+
+The most important configuration option is the `provider`, so the login module knows the base URI of the trusted OpenID Connect provider.
+
+`audience`, `identityPaths` and `rolesPaths` directly refer to what is expected in the JWT token. Here's an example
+token which can be authenticated by OIDC LoginModule:
+
+```json
+{
+ ...
+ "aud": "artemis-broker",
+ "sub": "ad657385-7381-4130-8fba-3acd8825cc7c",
+ ...
+ "resource_access": {
+ "artemis-broker": {
+ "roles": [
+ "amq",
+ "guest"
+ ]
+ }
+ },
+ ...
+}
+```
+
+`aud` claim matches the _expected audience_, identity is taken from `sub` claim and the roles are found under nested `resource_access.artemis-broker.roles` claim.
+
+### Artemis Console (Hawtio) configuration
+
+Artemis Console and Hawtio authentication is also based on JAAS, but JAAS has more configuration options than just `etc/login.config` file
+with static syntax.
+
+The important part is that Artemis Console uses "Standard flow" (OAuth2 "Authorization Code Grant" flow) which also involves the browser. And in addition to configuring the server side JAAS login module, the application running in the browser also requires some configuration.
+
+That's why Hawtio took a more dynamic approach to JAAS configuration and there's nothing we add to `etc/login.config`. We only run the console with one option:
+
+```
+JAVA_ARGS="-Dhawtio.realm=console"
+```
+
+Which tells Hawtio to use different (than `activemq`) JAAS _domain_. Something like:
+
+```
+console {
+};
+```
+
+The point is that the actual login module (specific to Hawtio) is configured dynamically using another file - `etc/hawtio-oidc.properties` which in addition to configuring the server-side JAAS LoginModule, adds some configuration used at the browser side (JavaScript code).
+
+Here's a fragment of this configuration:
+
+```properties
+# Name of the OIDC configuration - used for display purposes when selecting authentication method in the browser
+name = Keycloak@localhost
+
+# URL of OpenID Connect Provider - the URL after which ".well-known/openid-configuration" can be appended for
+# discovery purposes
+# if this property is unavailable, OIDC is not enabled
+provider = http://localhost:8080/realms/artemis-keycloak-demo
+# OpenID client identifier
+client_id = artemis-console
+# redirect URI after OpenID authentication - must also be configured at provider side
+redirect_uri = http://localhost:8161/console/
+
+...
+```
+
+One Hawtio-specific file is used to configure both the server and client side for OIDC authentication.
diff --git a/examples/features/standard/security-oidc/src/main/java/org/apache/activemq/artemis/jms/example/OIDCSecurityExample.java b/examples/features/standard/security-oidc/src/main/java/org/apache/activemq/artemis/jms/example/OIDCSecurityExample.java
new file mode 100644
index 00000000..fa7e1d1a
--- /dev/null
+++ b/examples/features/standard/security-oidc/src/main/java/org/apache/activemq/artemis/jms/example/OIDCSecurityExample.java
@@ -0,0 +1,149 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.artemis.jms.example;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.Session;
+import javax.jms.Queue;
+import javax.naming.InitialContext;
+
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.URL;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.activemq.artemis.api.core.JsonUtil;
+import org.apache.activemq.artemis.json.JsonObject;
+import org.apache.activemq.artemis.json.JsonString;
+import org.apache.activemq.artemis.utils.Waiter;
+
+public class OIDCSecurityExample {
+
+ public static void main(final String[] args) throws Exception {
+
+ Connection connection = null;
+
+ InitialContext initialContext = null;
+
+ try {
+ // Step 0. Wait for artemis-keycloak-demo
+ Waiter.waitFor(() -> {
+ int responseCode = 0;
+ try {
+ URL url = new URL("http://localhost:8080/realms/artemis-keycloak-demo/.well-known/openid-configuration");
+ HttpURLConnection con = (HttpURLConnection) url.openConnection();
+ responseCode = con.getResponseCode();
+ con.disconnect();
+ } catch (Exception expectedTillInfraStarted) {
+ System.out.println("---- expected error on startup till artemis-keycloak-demo starts: " + expectedTillInfraStarted + ", retry in 5s");
+ }
+ return responseCode == 200;
+ }, TimeUnit.SECONDS, 30, TimeUnit.SECONDS, 5);
+
+ // Step 1. Create an initial context to perform the JNDI lookup.
+ initialContext = new InitialContext();
+
+ // Step 2. perform lookup on the topics
+ Queue genericTopic = (Queue) initialContext.lookup("queue/Info");
+
+ // Step 3. perform a lookup on the Connection Factory
+ ConnectionFactory cf = (ConnectionFactory) initialContext.lookup("ConnectionFactory");
+
+ HttpClient client = HttpClient.newBuilder().build();
+
+ // client_id should be an OIDC/Keycloak client with
+ // "Service account roles" (OAuth2 "") Authentication flow (grant_type=client_credentials) enabled.
+ // such Keycloak client gets new tab "Service Account Roles" where we can add realm/client roles
+ // assigned to this client. Here there's only one entity accessing the resource on its own behalf.
+ //
+ // With other grants (including not recommended grant_type=password == "Direct access grants"
+ // == OAuth2 "Resource Owner Password Credentials Grant") the client is an entity which acts on behalf
+ // of another entity ("resource owner")
+ //
+ // https://redhat.atlassian.net/browse/KEYCLOAK-8482 ensures that the client_id used when accessing the
+ // token is NOT added to the "aud" claim (audience), which effectively means that this client doesn't
+ // want to "access itself" - only other "services" which may be represent as _other_ clients configured
+ // in Keycloak.
+ //
+ // See https://datatracker.ietf.org/doc/html/rfc6749#section-4
+
+ HttpRequest request = HttpRequest.newBuilder()
+ .uri(URI.create("http://localhost:8080/realms/artemis-keycloak-demo/protocol/openid-connect/token"))
+ .header("Content-Type", "application/x-www-form-urlencoded")
+ .POST(HttpRequest.BodyPublishers.ofString("grant_type=client_credentials&client_id=artemis-client&client_secret=oXeoAhe24pKk5GDE9nmukbp3cnoIWxem&scope=openid+email")).build();
+ HttpResponse resp = client.send(request, HttpResponse.BodyHandlers.ofString());
+
+ JsonObject data = JsonUtil.readJsonObject(resp.body());
+
+ String token = ((JsonString) data.get("access_token")).getString();
+ System.out.println(token);
+
+ // Step 4. block till we make a connection
+ System.out.println("------------------------blocking on connection creation----------------");
+
+ while (connection == null) {
+ try {
+ // username is not used at the server side for authentication
+ connection = createConnection("artemis-client", token, cf);
+ connection.start();
+ } catch (JMSException expectedTillInfraStarted) {
+ System.out.println("---- expected error on connect till broker starts: " + expectedTillInfraStarted + ", retry in 10s");
+ TimeUnit.SECONDS.sleep(10);
+ }
+ }
+
+ // Step 5. block till we get a message
+ System.out.println("------------------------blocking on message receipt from console----------------");
+ System.out.println("------------------------send to address Info as user with JWT token----------------");
+
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageConsumer consumer = session.createConsumer(genericTopic);
+
+ Message receivedMsg = null;
+ while (receivedMsg == null) {
+ receivedMsg = consumer.receive(10000);
+ if (receivedMsg != null) {
+ System.out.println("---------------------received: " + receivedMsg);
+ System.out.println("---------------------received: " + receivedMsg.getBody(String.class));
+ System.out.println("---------------------all done!------------------------------------------");
+ }
+ }
+
+ session.close();
+
+ System.out.println("-------------------------------------------------------------------------------------");
+
+ } finally {
+ if (connection != null) {
+ connection.close();
+ }
+ }
+ }
+
+ private static Connection createConnection(final String username,
+ final String password,
+ final ConnectionFactory cf) throws JMSException {
+ return cf.createConnection(username, password);
+ }
+}
diff --git a/examples/features/standard/security-oidc/src/main/java/org/apache/activemq/artemis/jms/example/Sleep.java b/examples/features/standard/security-oidc/src/main/java/org/apache/activemq/artemis/jms/example/Sleep.java
new file mode 100644
index 00000000..9c2d6752
--- /dev/null
+++ b/examples/features/standard/security-oidc/src/main/java/org/apache/activemq/artemis/jms/example/Sleep.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.artemis.jms.example;
+
+public class Sleep {
+
+ public static void main(String[] args) throws InterruptedException {
+ long delay = args.length > 0 ? Long.parseLong(args[0]): 10000L;
+ System.out.println("Awaiting for Keycloak for " + delay + "ms");
+ Thread.sleep(delay);
+ }
+
+}
diff --git a/examples/features/standard/security-oidc/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/security-oidc/src/main/resources/activemq/server0/broker.xml
new file mode 100644
index 00000000..36304483
--- /dev/null
+++ b/examples/features/standard/security-oidc/src/main/resources/activemq/server0/broker.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+ ./data/messaging/bindings
+
+ ./data/messaging/journal
+
+ ./data/messaging/largemessages
+
+ ./data/messaging/paging
+
+ true
+
+
+
+ tcp://localhost:61616
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/features/standard/security-oidc/src/main/resources/activemq/server0/hawtio-oidc.properties b/examples/features/standard/security-oidc/src/main/resources/activemq/server0/hawtio-oidc.properties
new file mode 100755
index 00000000..381bbfaf
--- /dev/null
+++ b/examples/features/standard/security-oidc/src/main/resources/activemq/server0/hawtio-oidc.properties
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# OpenID Connect configuration required at the client side
+
+# Name of the OIDC configuration - used for display purposes when selecting authentication method in the browser
+name = Keycloak@localhost
+
+# URL of OpenID Connect Provider - the URL after which ".well-known/openid-configuration" can be appended for
+# discovery purposes
+# if this property is unavailable, OIDC is not enabled
+provider = http://localhost:8080/realms/artemis-keycloak-demo
+# OpenID client identifier
+client_id = artemis-console
+# response mode according to https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html
+response_mode = fragment
+# scope to request when performing OpenID authentication. MUST include "openid" and required permissions
+scope = openid email profile
+# redirect URI after OpenID authentication - must also be configured at provider side
+redirect_uri = http://localhost:8161/console/
+# challenge method according to https://datatracker.ietf.org/doc/html/rfc7636
+code_challenge_method = S256
+# prompt hint according to https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
+prompt = login
+
+# additional configuration for the server side
+
+# if true, .well-known/openid-configuration will be fetched at server side. This is required
+# for proper JWT access token validation
+oidc.cacheConfig = true
+
+# time in minutes to cache public keys from jwks_uri
+jwks.cacheTime = 60
+
+# a path for an array of roles found in JWT payload. Property placeholders can be used for parameterized parts
+# of the path (like for Keycloak) - but only for properties from this particular file
+# example for properly configured Entra ID token
+#oidc.rolesPath = roles
+# example for Keycloak with use-resource-role-mappings=true
+#oidc.rolesPath = resource_access.${client_id}.roles
+# example for Keycloak with use-resource-role-mappings=false
+oidc.rolesPath = resource_access.artemis-console.roles
+
+# properties for role mapping. Each property with "roleMapping." prefix is used to map an original role
+# from JWT token (found at ${oidc.rolesPath}) to a role used by the application
+#roleMapping.admin = amq
+#roleMapping.user = user
+
+# timeout for connection establishment (milliseconds)
+http.connectionTimeout = 5000
+# timeout for reading from established connection (milliseconds)
+http.readTimeout = 10000
+# HTTP proxy to use when connecting to OpenID Connect provider
+#http.proxyURL = http://127.0.0.1:3128
+
+# TLS configuration (system properties can be used, e.g., "${catalina.home}/conf/hawtio.jks")
+
+#ssl.protocol = TLSv1.3
+#ssl.truststore = src/test/resources/hawtio.jks
+#ssl.truststorePassword = hawtio
+#ssl.keystore = src/test/resources/hawtio.jks
+#ssl.keystorePassword = hawtio
+#ssl.keyAlias = openid connect test provider
+#ssl.keyPassword = hawtio
diff --git a/examples/features/standard/security-oidc/src/main/resources/activemq/server0/log4j2.properties b/examples/features/standard/security-oidc/src/main/resources/activemq/server0/log4j2.properties
new file mode 100644
index 00000000..66e4ced7
--- /dev/null
+++ b/examples/features/standard/security-oidc/src/main/resources/activemq/server0/log4j2.properties
@@ -0,0 +1,92 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Log4J 2 configuration
+
+rootLogger = INFO, console, log_file
+
+logger.activemq.name=org.apache.activemq
+logger.activemq.level=INFO
+
+logger.artemis_server.name=org.apache.activemq.artemis.core.server
+logger.artemis_server.level=INFO
+
+logger.artemis_journal.name=org.apache.activemq.artemis.journal
+logger.artemis_journal.level=INFO
+
+logger.artemis_utils.name=org.apache.activemq.artemis.utils
+logger.artemis_utils.level=INFO
+
+logger.artemis_jaas.name=org.apache.activemq.artemis.spi.core.security.jaas
+logger.artemis_jaas.level=debug
+
+# CriticalAnalyzer: If you have issues with the CriticalAnalyzer, setting this to TRACE would give
+# you extra troubleshooting info, but do not use TRACE regularly as it would incur extra CPU usage.
+logger.critical_analyzer.name=org.apache.activemq.artemis.utils.critical
+logger.critical_analyzer.level=INFO
+
+# Audit loggers: to enable change levels from OFF to INFO
+logger.audit_base = INFO, audit_log_file
+logger.audit_base.name = org.apache.activemq.audit.base
+logger.audit_base.additivity = false
+
+logger.audit_resource = INFO, audit_log_file
+logger.audit_resource.name = org.apache.activemq.audit.resource
+logger.audit_resource.additivity = false
+
+logger.audit_message = INFO, audit_log_file
+logger.audit_message.name = org.apache.activemq.audit.message
+logger.audit_message.additivity = false
+
+# Jetty logger levels
+logger.jetty.name=org.eclipse.jetty
+logger.jetty.level=WARN
+
+# Quorum related logger levels
+logger.curator.name=org.apache.curator
+logger.curator.level=WARN
+logger.zookeeper.name=org.apache.zookeeper
+logger.zookeeper.level=ERROR
+
+
+# Console appender
+appender.console.type=Console
+appender.console.name=console
+appender.console.layout.type=PatternLayout
+appender.console.layout.pattern=%d %-5level [%logger] %msg%n
+
+# Log file appender
+appender.log_file.type = RollingFile
+appender.log_file.name = log_file
+appender.log_file.fileName = ${sys:artemis.instance}/log/artemis.log
+appender.log_file.filePattern = ${sys:artemis.instance}/log/artemis.log.%d{yyyy-MM-dd}
+appender.log_file.layout.type = PatternLayout
+appender.log_file.layout.pattern = %d %-5level [%logger] %msg%n
+appender.log_file.policies.type = Policies
+appender.log_file.policies.cron.type = CronTriggeringPolicy
+appender.log_file.policies.cron.schedule = 0 0 0 * * ?
+appender.log_file.policies.cron.evaluateOnStartup = true
+
+# Audit log file appender
+appender.audit_log_file.type = RollingFile
+appender.audit_log_file.name = audit_log_file
+appender.audit_log_file.fileName = ${sys:artemis.instance}/log/audit.log
+appender.audit_log_file.filePattern = ${sys:artemis.instance}/log/audit.log.%d{yyyy-MM-dd}
+appender.audit_log_file.layout.type = PatternLayout
+appender.audit_log_file.layout.pattern = %d [AUDIT](%t) %msg%n
+appender.audit_log_file.policies.type = Policies
+appender.audit_log_file.policies.cron.type = CronTriggeringPolicy
+appender.audit_log_file.policies.cron.schedule = 0 0 0 * * ?
+appender.audit_log_file.policies.cron.evaluateOnStartup = true
diff --git a/examples/features/standard/security-oidc/src/main/resources/activemq/server0/login.config b/examples/features/standard/security-oidc/src/main/resources/activemq/server0/login.config
new file mode 100644
index 00000000..db519b49
--- /dev/null
+++ b/examples/features/standard/security-oidc/src/main/resources/activemq/server0/login.config
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+activemq {
+
+ org.apache.activemq.artemis.spi.core.security.jaas.OIDCLoginModule required
+ debug=true
+
+ provider="http://localhost:8080/realms/artemis-keycloak-demo"
+ audience="artemis-broker"
+ identityPaths=sub
+ rolesPaths="resource_access.artemis-broker.roles"
+ ;
+};
diff --git a/examples/features/standard/security-oidc/src/main/resources/artemis-keycloak-demo-realm.json b/examples/features/standard/security-oidc/src/main/resources/artemis-keycloak-demo-realm.json
new file mode 100644
index 00000000..a73104ba
--- /dev/null
+++ b/examples/features/standard/security-oidc/src/main/resources/artemis-keycloak-demo-realm.json
@@ -0,0 +1,4145 @@
+[ {
+ "id" : "artemis-keycloak-demo",
+ "realm" : "artemis-keycloak-demo",
+ "notBefore" : 0,
+ "defaultSignatureAlgorithm" : "RS256",
+ "revokeRefreshToken" : false,
+ "refreshTokenMaxReuse" : 0,
+ "accessTokenLifespan" : 300,
+ "accessTokenLifespanForImplicitFlow" : 900,
+ "ssoSessionIdleTimeout" : 1800,
+ "ssoSessionMaxLifespan" : 36000,
+ "ssoSessionIdleTimeoutRememberMe" : 0,
+ "ssoSessionMaxLifespanRememberMe" : 0,
+ "offlineSessionIdleTimeout" : 2592000,
+ "offlineSessionMaxLifespanEnabled" : false,
+ "offlineSessionMaxLifespan" : 5184000,
+ "clientSessionIdleTimeout" : 0,
+ "clientSessionMaxLifespan" : 0,
+ "clientOfflineSessionIdleTimeout" : 0,
+ "clientOfflineSessionMaxLifespan" : 0,
+ "accessCodeLifespan" : 60,
+ "accessCodeLifespanUserAction" : 300,
+ "accessCodeLifespanLogin" : 1800,
+ "actionTokenGeneratedByAdminLifespan" : 43200,
+ "actionTokenGeneratedByUserLifespan" : 300,
+ "oauth2DeviceCodeLifespan" : 600,
+ "oauth2DevicePollingInterval" : 5,
+ "enabled" : true,
+ "sslRequired" : "external",
+ "registrationAllowed" : false,
+ "registrationEmailAsUsername" : false,
+ "rememberMe" : false,
+ "verifyEmail" : false,
+ "loginWithEmailAllowed" : true,
+ "duplicateEmailsAllowed" : false,
+ "resetPasswordAllowed" : false,
+ "editUsernameAllowed" : false,
+ "bruteForceProtected" : false,
+ "permanentLockout" : false,
+ "maxTemporaryLockouts" : 0,
+ "bruteForceStrategy" : "MULTIPLE",
+ "maxFailureWaitSeconds" : 900,
+ "minimumQuickLoginWaitSeconds" : 60,
+ "waitIncrementSeconds" : 60,
+ "quickLoginCheckMilliSeconds" : 1000,
+ "maxDeltaTimeSeconds" : 43200,
+ "failureFactor" : 30,
+ "roles" : {
+ "realm" : [ {
+ "id" : "d1b23581-16bb-4c33-ba5e-88b2c89d6f6b",
+ "name" : "offline_access",
+ "description" : "${role_offline-access}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "artemis-keycloak-demo",
+ "attributes" : { }
+ }, {
+ "id" : "fde8f0a4-05d4-4845-bb0d-464fd45229ed",
+ "name" : "uma_authorization",
+ "description" : "${role_uma_authorization}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "artemis-keycloak-demo",
+ "attributes" : { }
+ }, {
+ "id" : "c9f774ad-de13-4727-b2f4-07db4e51be6d",
+ "name" : "default-roles-artemis-keycloak-demo",
+ "description" : "${role_default-roles}",
+ "composite" : true,
+ "composites" : {
+ "realm" : [ "offline_access", "uma_authorization" ],
+ "client" : {
+ "artemis-broker" : [ "guest" ],
+ "artemis-console" : [ "guest" ],
+ "account" : [ "manage-account", "view-profile" ]
+ }
+ },
+ "clientRole" : false,
+ "containerId" : "artemis-keycloak-demo",
+ "attributes" : { }
+ } ],
+ "client" : {
+ "realm-management" : [ {
+ "id" : "58cf8dc3-0dbb-4211-b042-6cb1c42f25de",
+ "name" : "manage-users",
+ "description" : "${role_manage-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "c9abd629-4c1c-4c13-8f19-629a620810a3",
+ "name" : "view-clients",
+ "description" : "${role_view-clients}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "realm-management" : [ "query-clients" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "857116cb-7715-4770-8294-b47102d87c1b",
+ "name" : "manage-events",
+ "description" : "${role_manage-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "b58c0043-d73d-4b70-beec-e41e96bfd099",
+ "name" : "view-realm",
+ "description" : "${role_view-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "3cde926c-14eb-468e-9cf3-c27fe799ac6f",
+ "name" : "create-client",
+ "description" : "${role_create-client}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "f864ac38-f0b0-4301-ae90-66353903d8b3",
+ "name" : "query-clients",
+ "description" : "${role_query-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "78487553-997c-4392-a004-35e0ce3f09a5",
+ "name" : "impersonation",
+ "description" : "${role_impersonation}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "34ba46f9-edcb-4b6a-b67d-8d6c96e950ac",
+ "name" : "manage-identity-providers",
+ "description" : "${role_manage-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "0d1e3bde-7d7d-4274-8f69-3ad0ee5b0d2a",
+ "name" : "manage-realm",
+ "description" : "${role_manage-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "b3b5a154-5a49-4aeb-a1bc-6afb1ac0717c",
+ "name" : "query-realms",
+ "description" : "${role_query-realms}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "23bcd4a4-38d2-43c1-b1fc-8924ca4bb345",
+ "name" : "query-groups",
+ "description" : "${role_query-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "d2d5ea92-7993-4874-8f08-a4fba878cfcd",
+ "name" : "manage-clients",
+ "description" : "${role_manage-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "4270eb25-547b-4d5e-9bcf-154e631aae0f",
+ "name" : "view-events",
+ "description" : "${role_view-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "5e69ec70-17d7-4247-9363-3823098a1e1a",
+ "name" : "view-users",
+ "description" : "${role_view-users}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "realm-management" : [ "query-groups", "query-users" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "68b7cc1f-ea61-4deb-9c99-18b9862bba09",
+ "name" : "query-users",
+ "description" : "${role_query-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "bb8a0e9d-24b0-424c-b1a6-c7f88655569a",
+ "name" : "view-identity-providers",
+ "description" : "${role_view-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "d4c2191a-d42b-429d-90a5-0c3d0a45f248",
+ "name" : "manage-authorization",
+ "description" : "${role_manage-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "9496a6a5-5f02-4985-949f-6fcd530a8ecc",
+ "name" : "realm-admin",
+ "description" : "${role_realm-admin}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "realm-management" : [ "manage-users", "view-clients", "manage-events", "view-realm", "create-client", "query-clients", "impersonation", "manage-realm", "manage-identity-providers", "query-realms", "query-groups", "view-events", "manage-clients", "view-users", "query-users", "view-identity-providers", "view-authorization", "manage-authorization" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ }, {
+ "id" : "518f4e47-311b-44c9-92f7-1869cf5dd67a",
+ "name" : "view-authorization",
+ "description" : "${role_view-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "attributes" : { }
+ } ],
+ "artemis-broker" : [ {
+ "id" : "8ec0702b-4a6e-4eb8-b2ea-749365a91f50",
+ "name" : "amq",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6874f01b-9f64-4f52-bd76-1cf0f66e4d7e",
+ "attributes" : { }
+ }, {
+ "id" : "31dc56ac-5b23-4750-8332-282e6bd6de17",
+ "name" : "guest",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6874f01b-9f64-4f52-bd76-1cf0f66e4d7e",
+ "attributes" : { }
+ } ],
+ "security-admin-console" : [ ],
+ "artemis-client" : [ ],
+ "admin-cli" : [ ],
+ "artemis-console" : [ {
+ "id" : "bd9a38ad-8044-4675-9363-7dc437468f92",
+ "name" : "guest",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "75f83af0-f4f8-4a25-b6e5-bd331a3306c2",
+ "attributes" : { }
+ } ],
+ "account-console" : [ ],
+ "broker" : [ {
+ "id" : "c560ea46-4122-457d-a7f2-d40e7d3aefde",
+ "name" : "read-token",
+ "description" : "${role_read-token}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "faa915cf-c333-4211-b0e6-8d910143f440",
+ "attributes" : { }
+ } ],
+ "account" : [ {
+ "id" : "2cd09bec-c1d9-411d-97da-c6b4bc4d4766",
+ "name" : "manage-account",
+ "description" : "${role_manage-account}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "account" : [ "manage-account-links" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "attributes" : { }
+ }, {
+ "id" : "bae3e47d-95a3-4aa3-8f1d-471c22c7b5f8",
+ "name" : "manage-account-links",
+ "description" : "${role_manage-account-links}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "attributes" : { }
+ }, {
+ "id" : "f11f83db-58fa-4c1a-a174-47b899090ca9",
+ "name" : "view-profile",
+ "description" : "${role_view-profile}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "attributes" : { }
+ }, {
+ "id" : "2e77d968-68c2-43fc-b70f-2ee7ba6859ce",
+ "name" : "view-applications",
+ "description" : "${role_view-applications}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "attributes" : { }
+ }, {
+ "id" : "535c165c-3b62-4711-917d-dc463e662109",
+ "name" : "view-consent",
+ "description" : "${role_view-consent}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "attributes" : { }
+ }, {
+ "id" : "7dc5279d-53ed-4cf0-95c7-9ad62b3efd8e",
+ "name" : "delete-account",
+ "description" : "${role_delete-account}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "attributes" : { }
+ }, {
+ "id" : "946657c4-1c88-43a8-b72e-e2f6333d822c",
+ "name" : "view-groups",
+ "description" : "${role_view-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "attributes" : { }
+ }, {
+ "id" : "858adc6d-4951-4b20-9a2b-d6e2e96ff844",
+ "name" : "manage-consent",
+ "description" : "${role_manage-consent}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "account" : [ "view-consent" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "attributes" : { }
+ } ]
+ }
+ },
+ "groups" : [ ],
+ "defaultRole" : {
+ "id" : "c9f774ad-de13-4727-b2f4-07db4e51be6d",
+ "name" : "default-roles-artemis-keycloak-demo",
+ "description" : "${role_default-roles}",
+ "composite" : true,
+ "clientRole" : false,
+ "containerId" : "artemis-keycloak-demo"
+ },
+ "requiredCredentials" : [ "password" ],
+ "otpPolicyType" : "totp",
+ "otpPolicyAlgorithm" : "HmacSHA1",
+ "otpPolicyInitialCounter" : 0,
+ "otpPolicyDigits" : 6,
+ "otpPolicyLookAheadWindow" : 1,
+ "otpPolicyPeriod" : 30,
+ "otpPolicyCodeReusable" : false,
+ "otpSupportedApplications" : [ "totpAppFreeOTPName", "totpAppGoogleName", "totpAppMicrosoftAuthenticatorName" ],
+ "localizationTexts" : { },
+ "webAuthnPolicyRpEntityName" : "keycloak",
+ "webAuthnPolicySignatureAlgorithms" : [ "ES256" ],
+ "webAuthnPolicyRpId" : "",
+ "webAuthnPolicyAttestationConveyancePreference" : "not specified",
+ "webAuthnPolicyAuthenticatorAttachment" : "not specified",
+ "webAuthnPolicyRequireResidentKey" : "not specified",
+ "webAuthnPolicyUserVerificationRequirement" : "not specified",
+ "webAuthnPolicyCreateTimeout" : 0,
+ "webAuthnPolicyAvoidSameAuthenticatorRegister" : false,
+ "webAuthnPolicyAcceptableAaguids" : [ ],
+ "webAuthnPolicyExtraOrigins" : [ ],
+ "webAuthnPolicyPasswordlessRpEntityName" : "keycloak",
+ "webAuthnPolicyPasswordlessSignatureAlgorithms" : [ "ES256" ],
+ "webAuthnPolicyPasswordlessRpId" : "",
+ "webAuthnPolicyPasswordlessAttestationConveyancePreference" : "not specified",
+ "webAuthnPolicyPasswordlessAuthenticatorAttachment" : "not specified",
+ "webAuthnPolicyPasswordlessRequireResidentKey" : "not specified",
+ "webAuthnPolicyPasswordlessUserVerificationRequirement" : "not specified",
+ "webAuthnPolicyPasswordlessCreateTimeout" : 0,
+ "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister" : false,
+ "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ],
+ "webAuthnPolicyPasswordlessExtraOrigins" : [ ],
+ "users" : [ {
+ "id" : "563d5f9b-9119-430e-8963-89e86c22c855",
+ "createdTimestamp" : 1615203149135,
+ "username" : "jdoe",
+ "enabled" : true,
+ "totp" : false,
+ "emailVerified" : false,
+ "firstName" : "John",
+ "lastName" : "Doe",
+ "credentials" : [ {
+ "id" : "16a932c9-0129-4bb1-975f-a2911f0420b5",
+ "type" : "password",
+ "createdDate" : 1615203192238,
+ "secretData" : "{\"value\":\"xnSwx7h4TQbLP26j7bqVjaEyIX+mIsCK6hmlj7Xmvfw=\",\"salt\":\"XJ3XZot08tompVOl15u8Rw==\",\"additionalParameters\":{}}",
+ "credentialData" : "{\"hashIterations\":5,\"algorithm\":\"argon2\",\"additionalParameters\":{\"hashLength\":[\"32\"],\"memory\":[\"7168\"],\"type\":[\"id\"],\"version\":[\"1.3\"],\"parallelism\":[\"1\"]}}"
+ } ],
+ "disableableCredentialTypes" : [ ],
+ "requiredActions" : [ ],
+ "realmRoles" : [ "offline_access", "uma_authorization" ],
+ "clientRoles" : {
+ "artemis-broker" : [ "guest" ],
+ "account" : [ "manage-account", "view-profile" ]
+ },
+ "notBefore" : 0,
+ "groups" : [ ]
+ }, {
+ "id" : "f0274c01-d204-4728-a8c9-a4b8f00c2654",
+ "username" : "mdoe",
+ "firstName" : "mike",
+ "lastName" : "Doe",
+ "emailVerified" : true,
+ "enabled" : true,
+ "createdTimestamp" : 1615203216400,
+ "totp" : false,
+ "credentials" : [ {
+ "id" : "c19263d2-c2fc-4cf0-b539-92478b8b6c86",
+ "type" : "password",
+ "createdDate" : 1615203229695,
+ "secretData" : "{\"value\":\"2kOTqnWWFl5qpDW5+Ruccu+qjQAwQfjFGfAHrgFcM54=\",\"salt\":\"lNlumuKTccQrJwFOg4O2BA==\",\"additionalParameters\":{}}",
+ "credentialData" : "{\"hashIterations\":5,\"algorithm\":\"argon2\",\"additionalParameters\":{\"hashLength\":[\"32\"],\"memory\":[\"7168\"],\"type\":[\"id\"],\"version\":[\"1.3\"],\"parallelism\":[\"1\"]}}"
+ } ],
+ "disableableCredentialTypes" : [ ],
+ "requiredActions" : [ ],
+ "realmRoles" : [ "offline_access", "uma_authorization" ],
+ "clientRoles" : {
+ "artemis-broker" : [ "amq", "guest" ],
+ "artemis-console" : [ "guest" ],
+ "account" : [ "manage-account", "view-profile" ]
+ },
+ "notBefore" : 0,
+ "groups" : [ ]
+ }, {
+ "id" : "ad657385-7381-4130-8fba-3acd8825cc7c",
+ "username" : "service-account-artemis-client",
+ "emailVerified" : false,
+ "enabled" : true,
+ "createdTimestamp" : 1775132736780,
+ "totp" : false,
+ "serviceAccountClientId" : "artemis-client",
+ "credentials" : [ ],
+ "disableableCredentialTypes" : [ ],
+ "requiredActions" : [ ],
+ "clientRoles" : {
+ "artemis-broker" : [ "amq", "guest" ]
+ },
+ "notBefore" : 0,
+ "groups" : [ ]
+ } ],
+ "clientScopeMappings" : {
+ "account" : [ {
+ "client" : "account-console",
+ "roles" : [ "manage-account", "view-groups" ]
+ } ]
+ },
+ "clients" : [ {
+ "id" : "f4fade80-b020-4a8f-8ec0-a20dd83b75d5",
+ "clientId" : "account",
+ "name" : "${client_account}",
+ "rootUrl" : "${authBaseUrl}",
+ "baseUrl" : "/realms/artemis-keycloak-demo/account/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "secret" : "**********",
+ "redirectUris" : [ "/realms/artemis-keycloak-demo/account/*" ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : false,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "f44cbfb0-8969-4dd7-b7b0-9a9a548ac5dd",
+ "clientId" : "account-console",
+ "name" : "${client_account-console}",
+ "rootUrl" : "${authBaseUrl}",
+ "baseUrl" : "/realms/artemis-keycloak-demo/account/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ "/realms/artemis-keycloak-demo/account/*" ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "post.logout.redirect.uris" : "+",
+ "pkce.code.challenge.method" : "S256"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "protocolMappers" : [ {
+ "id" : "c623d1c2-0da6-414c-a345-8e7b2e886814",
+ "name" : "audience resolve",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-audience-resolve-mapper",
+ "consentRequired" : false,
+ "config" : { }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "258eebbd-ff72-4d93-bd26-1f63e1b8853c",
+ "clientId" : "admin-cli",
+ "name" : "${client_admin-cli}",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : false,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : true,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "client.use.lightweight.access.token.enabled" : "true",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "6874f01b-9f64-4f52-bd76-1cf0f66e4d7e",
+ "clientId" : "artemis-broker",
+ "name" : "",
+ "description" : "",
+ "rootUrl" : "",
+ "adminUrl" : "",
+ "baseUrl" : "",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "secret" : "9699685c-8a30-45cf-bf19-0d38bbac5fdc",
+ "redirectUris" : [ ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : false,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : true,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : false,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "saml.assertion.signature" : "false",
+ "logout.confirmation.enabled" : "false",
+ "saml.force.post.binding" : "false",
+ "saml.multivalued.roles" : "false",
+ "saml.encrypt" : "false",
+ "standard.token.exchange.enabled" : "false",
+ "post.logout.redirect.uris" : "+",
+ "oauth2.device.authorization.grant.enabled" : "false",
+ "backchannel.logout.revoke.offline.tokens" : "false",
+ "saml.server.signature" : "false",
+ "saml.server.signature.keyinfo.ext" : "false",
+ "exclude.session.state.from.auth.response" : "false",
+ "realm_client" : "false",
+ "oidc.ciba.grant.enabled" : "false",
+ "backchannel.logout.session.required" : "true",
+ "client_credentials.use_refresh_token" : "false",
+ "saml_force_name_id_format" : "false",
+ "saml.client.signature" : "false",
+ "tls.client.certificate.bound.access.tokens" : "false",
+ "saml.authnstatement" : "false",
+ "display.on.consent.screen" : "false",
+ "saml.onetimeuse.condition" : "false",
+ "dpop.bound.access.tokens" : "false"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : -1,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "1a4aebdd-4107-4163-9a8c-45a5e949091c",
+ "clientId" : "artemis-client",
+ "name" : "",
+ "description" : "",
+ "rootUrl" : "",
+ "adminUrl" : "",
+ "baseUrl" : "",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : true,
+ "clientAuthenticatorType" : "client-secret",
+ "secret" : "oXeoAhe24pKk5GDE9nmukbp3cnoIWxem",
+ "redirectUris" : [ "/*" ],
+ "webOrigins" : [ "/*" ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : false,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : true,
+ "publicClient" : false,
+ "frontchannelLogout" : true,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "oidc.ciba.grant.enabled" : "false",
+ "client.secret.creation.time" : "1775132736",
+ "backchannel.logout.session.required" : "true",
+ "standard.token.exchange.enabled" : "false",
+ "oauth2.device.authorization.grant.enabled" : "false",
+ "backchannel.logout.revoke.offline.tokens" : "false",
+ "dpop.bound.access.tokens" : "false"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : -1,
+ "defaultClientScopes" : [ "web-origins", "service_account", "acr", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "75f83af0-f4f8-4a25-b6e5-bd331a3306c2",
+ "clientId" : "artemis-console",
+ "name" : "",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ "http://localhost:8161/console/*" ],
+ "webOrigins" : [ "+" ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "saml.assertion.signature" : "false",
+ "saml.force.post.binding" : "false",
+ "saml.multivalued.roles" : "false",
+ "saml.encrypt" : "false",
+ "post.logout.redirect.uris" : "+",
+ "backchannel.logout.revoke.offline.tokens" : "false",
+ "saml.server.signature" : "false",
+ "saml.server.signature.keyinfo.ext" : "false",
+ "exclude.session.state.from.auth.response" : "false",
+ "realm_client" : "false",
+ "backchannel.logout.session.required" : "true",
+ "client_credentials.use_refresh_token" : "false",
+ "saml_force_name_id_format" : "false",
+ "saml.client.signature" : "false",
+ "tls.client.certificate.bound.access.tokens" : "false",
+ "saml.authnstatement" : "false",
+ "display.on.consent.screen" : "false",
+ "saml.onetimeuse.condition" : "false"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : -1,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "faa915cf-c333-4211-b0e6-8d910143f440",
+ "clientId" : "broker",
+ "name" : "${client_broker}",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "secret" : "**********",
+ "redirectUris" : [ ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : false,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "true",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "8058e1ae-b137-4fc9-aec4-1a066723c146",
+ "clientId" : "realm-management",
+ "name" : "${client_realm-management}",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : true,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : false,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "true",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "c1d70871-976d-4bcf-940f-2d9bd1c84d78",
+ "clientId" : "security-admin-console",
+ "name" : "${client_security-admin-console}",
+ "rootUrl" : "${authAdminUrl}",
+ "baseUrl" : "/admin/artemis-keycloak-demo/console/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ "/admin/artemis-keycloak-demo/console/*" ],
+ "webOrigins" : [ "+" ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "client.use.lightweight.access.token.enabled" : "true",
+ "post.logout.redirect.uris" : "+",
+ "pkce.code.challenge.method" : "S256"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : 0,
+ "protocolMappers" : [ {
+ "id" : "db9f92c0-05d1-4c88-b4ef-af696f00a272",
+ "name" : "locale",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "locale",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "locale",
+ "jsonType.label" : "String"
+ }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ } ],
+ "clientScopes" : [ {
+ "id" : "40eb9ce1-0b52-4bce-88cb-2a7b78e48f2b",
+ "name" : "email",
+ "description" : "OpenID Connect built-in scope: email",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${emailScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "17dd39c1-5083-4a65-a62e-1f72a3f7b8aa",
+ "name" : "email verified",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "emailVerified",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "email_verified",
+ "jsonType.label" : "boolean"
+ }
+ }, {
+ "id" : "33a66318-0b43-4184-9768-51d1e9e77560",
+ "name" : "email",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "email",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "email",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "7a0fdcf8-abaa-4ecb-827b-b3d05a303cf3",
+ "name" : "phone",
+ "description" : "OpenID Connect built-in scope: phone",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${phoneScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "d4e34712-9ee7-43de-9adb-0e6341170d30",
+ "name" : "phone number",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "phoneNumber",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "phone_number",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "989dfe94-e505-4c0f-8c00-81bf7e9c6d7f",
+ "name" : "phone number verified",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "phoneNumberVerified",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "phone_number_verified",
+ "jsonType.label" : "boolean"
+ }
+ } ]
+ }, {
+ "id" : "740f094b-5d61-4590-a606-321af4d38628",
+ "name" : "address",
+ "description" : "OpenID Connect built-in scope: address",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${addressScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "3dc49dd4-fff1-42bd-9c59-842c1abba650",
+ "name" : "address",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-address-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.attribute.formatted" : "formatted",
+ "user.attribute.country" : "country",
+ "user.attribute.postal_code" : "postal_code",
+ "userinfo.token.claim" : "true",
+ "user.attribute.street" : "street",
+ "id.token.claim" : "true",
+ "user.attribute.region" : "region",
+ "access.token.claim" : "true",
+ "user.attribute.locality" : "locality"
+ }
+ } ]
+ }, {
+ "id" : "7b2d5b88-9c68-4c55-9c03-1c3e53ec9b52",
+ "name" : "profile",
+ "description" : "OpenID Connect built-in scope: profile",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${profileScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "9184f0e7-22d4-4be1-b3a0-65388b1450b5",
+ "name" : "middle name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "middleName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "middle_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "6f1b0f20-ef8c-47c8-9f8d-b84454ceb1a2",
+ "name" : "website",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "website",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "website",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "35d3f33b-1112-41c4-88dd-9d8b987ef118",
+ "name" : "zoneinfo",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "zoneinfo",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "zoneinfo",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "e834e444-1364-4c22-9eb0-1f28b6ef73ae",
+ "name" : "family name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "lastName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "family_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "d5846532-20c8-40de-840d-44abbce69a8f",
+ "name" : "birthdate",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "birthdate",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "birthdate",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "76f040c6-f48c-4c96-a3e8-6d9c6b36b1fd",
+ "name" : "username",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "username",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "preferred_username",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "c605bab0-fefd-459b-9354-9718a906948c",
+ "name" : "picture",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "picture",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "picture",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "3ad99911-64c4-4242-99ea-ff739066cdd1",
+ "name" : "updated at",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "updatedAt",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "updated_at",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "7b123845-53c5-4795-b70e-d403004294ad",
+ "name" : "locale",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "locale",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "locale",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "835a77fa-16d7-4693-ac44-e6a18afbac27",
+ "name" : "profile",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "profile",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "profile",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "4630db0a-19cd-4675-9910-e04d649e424b",
+ "name" : "full name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-full-name-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "userinfo.token.claim" : "true"
+ }
+ }, {
+ "id" : "7dffa1b3-02ae-447b-b455-d65b4eb569dd",
+ "name" : "given name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "firstName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "given_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "dae818dc-87a3-4d78-b54b-17a99d021f9b",
+ "name" : "nickname",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "nickname",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "nickname",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "9da1a6dc-8668-4d1c-a651-e62b23e37832",
+ "name" : "gender",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "gender",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "gender",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "322674b4-1e3c-4941-b482-1bf593cfaff8",
+ "name" : "web-origins",
+ "description" : "OpenID Connect scope for add allowed web origins to the access token",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "false",
+ "consent.screen.text" : ""
+ },
+ "protocolMappers" : [ {
+ "id" : "42eac5b2-f1b1-4f1b-bdaf-98b26ddb0545",
+ "name" : "allowed web origins",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-allowed-origins-mapper",
+ "consentRequired" : false,
+ "config" : { }
+ } ]
+ }, {
+ "id" : "10f62fef-4ff2-494d-a0b4-ea945e8f458e",
+ "name" : "service_account",
+ "description" : "Specific scope for a client enabled for service accounts",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "false"
+ },
+ "protocolMappers" : [ {
+ "id" : "eb2289be-d47a-44de-912f-9f4eb0308562",
+ "name" : "Client ID",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.session.note" : "client_id",
+ "introspection.token.claim" : "true",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "client_id",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "5db2fb96-2150-4f7a-ad57-6deca4034fef",
+ "name" : "Client IP Address",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.session.note" : "clientAddress",
+ "introspection.token.claim" : "true",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "clientAddress",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "3be896cb-3312-41d9-bc09-f4bb37c8dbdc",
+ "name" : "Client Host",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.session.note" : "clientHost",
+ "introspection.token.claim" : "true",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "clientHost",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "458ca4d1-7a8f-4c49-b92e-e59eb2a385c1",
+ "name" : "role_list",
+ "description" : "SAML role list",
+ "protocol" : "saml",
+ "attributes" : {
+ "consent.screen.text" : "${samlRoleListScopeConsentText}",
+ "display.on.consent.screen" : "true"
+ },
+ "protocolMappers" : [ {
+ "id" : "046d2a27-bbd1-4d16-b3d2-043548a948e3",
+ "name" : "role list",
+ "protocol" : "saml",
+ "protocolMapper" : "saml-role-list-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "single" : "false",
+ "attribute.nameformat" : "Basic",
+ "attribute.name" : "Role"
+ }
+ } ]
+ }, {
+ "id" : "0fec63da-7f89-456d-ae3d-76eef8d9428f",
+ "name" : "acr",
+ "description" : "OpenID Connect scope for add acr (authentication context class reference) to the token",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "false"
+ },
+ "protocolMappers" : [ {
+ "id" : "ddb6f869-75c3-4fd1-9bc1-ebac5a473075",
+ "name" : "acr loa level",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-acr-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "userinfo.token.claim" : "true"
+ }
+ } ]
+ }, {
+ "id" : "912850d8-6d0e-4b4f-b68b-1b2c7b377ac7",
+ "name" : "microprofile-jwt",
+ "description" : "Microprofile - JWT built-in scope",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "false"
+ },
+ "protocolMappers" : [ {
+ "id" : "46e28353-6e20-46b0-b4df-5339522e5612",
+ "name" : "upn",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "username",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "upn",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "2c833b5a-8f08-46bd-b017-29a6483031c9",
+ "name" : "groups",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "multivalued" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "foo",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "groups",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "9eb9e8f4-7a40-4b90-ad2d-7b1e6fdcdb5c",
+ "name" : "offline_access",
+ "description" : "OpenID Connect built-in scope: offline_access",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "consent.screen.text" : "${offlineAccessScopeConsentText}",
+ "display.on.consent.screen" : "true"
+ }
+ }, {
+ "id" : "b485d3af-0211-4385-be27-e201a0c08da1",
+ "name" : "basic",
+ "description" : "OpenID Connect scope for add all basic claims to the token",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "false"
+ },
+ "protocolMappers" : [ {
+ "id" : "1101d5d5-01cd-4846-9bf5-f8b305b00f57",
+ "name" : "sub",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-sub-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true"
+ }
+ }, {
+ "id" : "18c39cb2-f764-482d-ac66-0ce41a146fc2",
+ "name" : "auth_time",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.session.note" : "AUTH_TIME",
+ "introspection.token.claim" : "true",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "auth_time",
+ "jsonType.label" : "long"
+ }
+ } ]
+ }, {
+ "id" : "da5fd7af-acd4-4e69-b6ac-292109b1ed24",
+ "name" : "roles",
+ "description" : "OpenID Connect scope for add user roles to the access token",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${rolesScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "179f0d74-fb3f-4c1a-a6c1-04eaf42b5ec5",
+ "name" : "realm roles",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.attribute" : "foo",
+ "access.token.claim" : "true",
+ "claim.name" : "realm_access.roles",
+ "jsonType.label" : "String",
+ "multivalued" : "true"
+ }
+ }, {
+ "id" : "63ed3e3a-2821-4d6b-9860-8b661fff647d",
+ "name" : "audience resolve",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-audience-resolve-mapper",
+ "consentRequired" : false,
+ "config" : { }
+ }, {
+ "id" : "0a953f7a-a2af-4802-8059-5c277472679f",
+ "name" : "client roles",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-client-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "multivalued" : "true",
+ "userinfo.token.claim" : "false",
+ "user.attribute" : "foo",
+ "id.token.claim" : "false",
+ "lightweight.claim" : "false",
+ "access.token.claim" : "true",
+ "claim.name" : "resource_access.${client_id}.roles",
+ "jsonType.label" : "String"
+ }
+ } ]
+ } ],
+ "defaultDefaultClientScopes" : [ "role_list", "profile", "email", "roles", "web-origins", "acr", "basic" ],
+ "defaultOptionalClientScopes" : [ "offline_access", "address", "phone", "microprofile-jwt" ],
+ "browserSecurityHeaders" : {
+ "contentSecurityPolicyReportOnly" : "",
+ "xContentTypeOptions" : "nosniff",
+ "referrerPolicy" : "no-referrer",
+ "xRobotsTag" : "none",
+ "xFrameOptions" : "SAMEORIGIN",
+ "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
+ "xXSSProtection" : "1; mode=block",
+ "strictTransportSecurity" : "max-age=31536000; includeSubDomains"
+ },
+ "smtpServer" : { },
+ "eventsEnabled" : false,
+ "eventsListeners" : [ "jboss-logging" ],
+ "enabledEventTypes" : [ ],
+ "adminEventsEnabled" : false,
+ "adminEventsDetailsEnabled" : false,
+ "identityProviders" : [ ],
+ "identityProviderMappers" : [ ],
+ "components" : {
+ "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ {
+ "id" : "4cef99f2-d42a-42b9-8987-24f79cf7e1a1",
+ "name" : "Allowed Client Scopes",
+ "providerId" : "allowed-client-templates",
+ "subType" : "authenticated",
+ "subComponents" : { },
+ "config" : {
+ "allow-default-scopes" : [ "true" ]
+ }
+ }, {
+ "id" : "2e20f5bb-002d-48bd-979a-4bdd1ba9f8eb",
+ "name" : "Full Scope Disabled",
+ "providerId" : "scope",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : { }
+ }, {
+ "id" : "83883c14-513b-4757-a565-715f6d23d166",
+ "name" : "Trusted Hosts",
+ "providerId" : "trusted-hosts",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "host-sending-registration-request-must-match" : [ "true" ],
+ "client-uris-must-match" : [ "true" ]
+ }
+ }, {
+ "id" : "4fd0d21b-2767-41cf-815d-1aeaabf03870",
+ "name" : "Allowed Client Scopes",
+ "providerId" : "allowed-client-templates",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "allow-default-scopes" : [ "true" ]
+ }
+ }, {
+ "id" : "2b62bc0c-21e3-4992-b382-24915508dc9f",
+ "name" : "Allowed Protocol Mapper Types",
+ "providerId" : "allowed-protocol-mappers",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "allowed-protocol-mapper-types" : [ "saml-user-property-mapper", "oidc-address-mapper", "saml-role-list-mapper", "saml-user-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-full-name-mapper", "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper" ]
+ }
+ }, {
+ "id" : "6f455b82-b7b4-40ee-8c1e-4eb560ef8638",
+ "name" : "Max Clients Limit",
+ "providerId" : "max-clients",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "max-clients" : [ "200" ]
+ }
+ }, {
+ "id" : "6b702a28-0234-4025-b82f-16d54e6edded",
+ "name" : "Allowed Protocol Mapper Types",
+ "providerId" : "allowed-protocol-mappers",
+ "subType" : "authenticated",
+ "subComponents" : { },
+ "config" : {
+ "allowed-protocol-mapper-types" : [ "saml-user-property-mapper", "oidc-usermodel-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper", "oidc-usermodel-property-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-full-name-mapper" ]
+ }
+ }, {
+ "id" : "e1f56894-1e2b-4c06-a8ca-0d4204b9c3fe",
+ "name" : "Consent Required",
+ "providerId" : "consent-required",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : { }
+ } ],
+ "org.keycloak.userprofile.UserProfileProvider" : [ {
+ "id" : "5f74c81e-5948-4b73-9d3b-41035a542b8f",
+ "providerId" : "declarative-user-profile",
+ "subComponents" : { },
+ "config" : {
+ "kc.user.profile.config" : [ "{\"attributes\":[{\"name\":\"username\",\"displayName\":\"${username}\",\"validations\":{\"length\":{\"min\":3,\"max\":255},\"username-prohibited-characters\":{},\"up-username-not-idn-homograph\":{}},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"email\",\"displayName\":\"${email}\",\"validations\":{\"email\":{},\"length\":{\"max\":255}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"firstName\",\"displayName\":\"${firstName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"lastName\",\"displayName\":\"${lastName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false}],\"groups\":[{\"name\":\"user-metadata\",\"displayHeader\":\"User metadata\",\"displayDescription\":\"Attributes, which refer to user metadata\"}],\"unmanagedAttributePolicy\":\"ENABLED\"}" ]
+ }
+ } ],
+ "org.keycloak.keys.KeyProvider" : [ {
+ "id" : "64f5a97a-5fa0-4dba-a12f-208cdc870b34",
+ "name" : "aes-generated",
+ "providerId" : "aes-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "4acad273-718e-46b2-99fa-6aef9af6f6a8" ],
+ "secret" : [ "KqzAvCKUIVcbqC_UYV2-YQ" ],
+ "priority" : [ "100" ]
+ }
+ }, {
+ "id" : "b431de88-4985-4365-88a5-0343dea2600b",
+ "name" : "hmac-generated",
+ "providerId" : "hmac-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "9c4c782b-bd40-4d6f-91d2-0b8eeabadb99" ],
+ "secretSize" : [ "64" ],
+ "secret" : [ "44yfy_txXD8hYqnndbkl3yqT5YNVQDG3DR89RbWRgHrdczQVnwo-d-sVNdxZjjK2yS8HOFxTpX_JwrR7lKfZoQ" ],
+ "priority" : [ "100" ],
+ "algorithm" : [ "HS256" ]
+ }
+ }, {
+ "id" : "01ac506e-bee1-414b-9a4c-15e1f8cf3395",
+ "name" : "rsa-generated",
+ "providerId" : "rsa-generated",
+ "subComponents" : { },
+ "config" : {
+ "privateKey" : [ "MIIEpAIBAAKCAQEAn2Hf3x29JJ2gWap9pEgIHl0Pg0r4I5m7+tx48XyIUDU4tq46eGgEwplr4w2nJC4/YlD8eTBydeBnL61GVMmZHOW8bHfq2eyu6PF127KDca98Gyb3b1cB1f8RhWSAEQRnJJM+ThV9N3MnPBYC/+5eJyQKysb5Knqp8HdljyP+b3syav+jHS+L9PqFWs4qCPyOMDdIWuyOW22A0uCaNCQjZcNEkz7t3sUj5MlZvT7y3cRYoeMwFndT4oMhr3sDC+8KkwLKmu7095+97jDSlkC/y+i4Ktd+bJEhEfbzYVzqRR8tcWbKYqsuI7Ugtclq75EfTnfPqNQ9Yw4J//iC/Zr5qQIDAQABAoIBAQCb2KWC0t6HNkZ8RxSyFekyX4byt9TpYsMIKptsbnwQCeqZ3sW3xOaarlBrZYdA/qPl7BDkI7ZYgwQC/6jc8X/xXMchPST80M27Y5f+KpETEigFmNWsHmTiLpagW8RKX4bHod7zlVmqZcRAoblvLlMMbNbMr0EnA2i2hNle3TBHKqCzLy3feXs+IlZY4vDaUb3gBeY7PZ12lKCr8EJDN0NdqGsuunWsmAzV0qoUQjB6pF6nkxOejKp8bmszeGHjPOix760My8lUjprDDV3l50+zkY/4qq68GUEMOu5/EzXhbE9bLf/cUl/B/41ycDH09ifr7PEeJVSv3o4H+2ILHpEBAoGBANrsUvYYKNqGfb2uXnkNRgRRUNmOJQE1vsXWyIPj2SAEq690jhQUwgkFHhVWz8Gcxw/EiyqeTtmVTlfsU4sHJOomTuryKjB0F2Qx5lNyzL5RP2ysd9I8HqXWUG5/RVmn5n0agTbAC5GpB2r6sGc54/39bOM9iDrIu68mBxVAiaBJAoGBALpgFi/Rw2GrJ4hYyJvr6UGJlnGLNpCHr+RTKlrLgM0WA6xG+uGRGmCIKRahvYgnYhnHJUxiBY0HZq9VQiQLjbik0gO/HstcC0mV+ODxTB+COPJJ1dJgaLalYaU+w9mCUtTxJ8I6wuCPudw/uiXfa/SDrG4M+C33PX+S1Wmzp05hAoGAZuR/sW51dQ+U9ZuIh3h3mfvl9fpa5hCukyl5oJNsLyJC1vn+9O00rSyckQb2KldXL8/+YI97G8SSx7wpH8TB0tMicEZVEeTeQZc6W6ovFJv3JUqCHmtnNCZgMy7aF2NUbyQP6v2j8lfxRpSAaGPLBksf7EW1S3ugypci6RgmFxECgYB7NKH2IrkCi96qZ+bWDHI6fPYTQXBkww4n5kKNmxIegXsUHCgljYLeZaSj7XAZ3c8gM2IYyIPa4xWiur3qjii1819SUrnMvaBImPfZ3Cnyemei4+SSGmGevF18m61k0J5pXrJl1+qUAO9hBk/MUZJQJeuLJM+7s0HYX/zsz3K+gQKBgQCQ/UKc1qRs97Ix6plq4u2947c3AFRlz2Qi1rtkIzMPEmb126ZhzltuXySNBuheTQ4WEf+jlqOuI/bP6T8y+PkVHkgBJB+wNOkIUBLm0k1kKts1Kl8bara6ZieREQxCx/P4MLSXYDLrCcFUSmsmgxwlwLeCnzsCx5Z/hw7WJfMw6A==" ],
+ "certificate" : [ "MIICuTCCAaECBgF4EZjEkDANBgkqhkiG9w0BAQsFADAgMR4wHAYDVQQDDBVhcnRlbWlzLWtleWNsb2FrLWRlbW8wHhcNMjEwMzA4MTEyNzA3WhcNMzEwMzA4MTEyODQ3WjAgMR4wHAYDVQQDDBVhcnRlbWlzLWtleWNsb2FrLWRlbW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfYd/fHb0knaBZqn2kSAgeXQ+DSvgjmbv63HjxfIhQNTi2rjp4aATCmWvjDackLj9iUPx5MHJ14GcvrUZUyZkc5bxsd+rZ7K7o8XXbsoNxr3wbJvdvVwHV/xGFZIARBGckkz5OFX03cyc8FgL/7l4nJArKxvkqeqnwd2WPI/5vezJq/6MdL4v0+oVazioI/I4wN0ha7I5bbYDS4Jo0JCNlw0STPu3exSPkyVm9PvLdxFih4zAWd1PigyGvewML7wqTAsqa7vT3n73uMNKWQL/L6Lgq135skSER9vNhXOpFHy1xZspiqy4jtSC1yWrvkR9Od8+o1D1jDgn/+IL9mvmpAgMBAAEwDQYJKoZIhvcNAQELBQADggEBACRItrhe02bR0yoyM4p+n+pEn20Svd7m2EB4Fya+hOirPDTfpuRP41TbPPUmawrNNGziAmi8Ic8C+7j1iKwf0r1ivs8gkFo6yp/iqntHuyf8OqBAc1Tju7b3Lb7KO8tipyAZM84QigC4iYZsDKdaErHhmyREH45VrfpYi8fwg4zePp2nqXtQmGVpC9GqMHj4TDaJNR9hz5N5wwcZLI+jUQvaRdnguxlsnQAeKzuzMnJ5zNu1Cg+OwrVbUon+Znx/Fyn+71asI0HWZ0L6L3KEG4kte8u7ePSzTWo1nWNZiMtkDRVgfQf1nl8tlkJP6kAVKQBbluwv7I7lGK2UeubzSDc=" ],
+ "priority" : [ "100" ]
+ }
+ }, {
+ "id" : "e6290ec1-cc18-40a4-b8b8-4403826e5baa",
+ "name" : "hmac-generated-hs512",
+ "providerId" : "hmac-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "1d9a78d1-5a51-4cf9-94f7-7a276fd4b235" ],
+ "secret" : [ "v_czHS9apsFwHDWXoK3ct5zNNUfiiSjwqPDOr_YFxMEfnHklqTwiVYRDvv5rSy9ni_mBN2WFCijLSjhPLHyBspzPiR4SpEKx-YTq9LFVMkO0kxj7vAK4a0NhXYpJcVL21PUmVJPBvcu0XXfbuMLM08Lwh7jicvrpFCD6LqR-IJ8" ],
+ "priority" : [ "100" ],
+ "algorithm" : [ "HS512" ]
+ }
+ } ]
+ },
+ "internationalizationEnabled" : false,
+ "authenticationFlows" : [ {
+ "id" : "202ab63c-93b3-4b11-a9d7-58130a624c5f",
+ "alias" : "Account verification options",
+ "description" : "Method with which to verity the existing account",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "idp-email-verification",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Verify Existing Account by Re-authentication",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "17d991e5-ecf1-49b1-a176-c9485b049efd",
+ "alias" : "Browser - Conditional OTP",
+ "description" : "Flow to determine if the OTP is required for the authentication",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "conditional-user-configured",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "auth-otp-form",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "2be43b4b-111b-400c-9ad5-c918c53a7a53",
+ "alias" : "Direct Grant - Conditional OTP",
+ "description" : "Flow to determine if the OTP is required for the authentication",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "conditional-user-configured",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "direct-grant-validate-otp",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "faf143c0-978e-49c1-a454-c3cd2d8e93fe",
+ "alias" : "First broker login - Conditional OTP",
+ "description" : "Flow to determine if the OTP is required for the authentication",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "conditional-user-configured",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "auth-otp-form",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "1fcff348-d9aa-4c6e-8238-047dad0c3a52",
+ "alias" : "Handle Existing Account",
+ "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "idp-confirm-link",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Account verification options",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "2853067d-3960-483a-9d6b-05d88fc8317c",
+ "alias" : "Reset - Conditional OTP",
+ "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "conditional-user-configured",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "reset-otp",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "b380fbf7-be74-459b-accc-47ac0b9c7091",
+ "alias" : "User creation or linking",
+ "description" : "Flow for the existing/non-existing user alternatives",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticatorConfig" : "create unique user config",
+ "authenticator" : "idp-create-user-if-unique",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Handle Existing Account",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "def098f6-f65c-4adc-ae58-e01b1218333d",
+ "alias" : "Verify Existing Account by Re-authentication",
+ "description" : "Reauthentication of existing account",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "idp-username-password-form",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "CONDITIONAL",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "First broker login - Conditional OTP",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "2f776c1b-3704-4fa5-a41a-0dfa6bb6ca39",
+ "alias" : "browser",
+ "description" : "browser based authentication",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "auth-cookie",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "auth-spnego",
+ "authenticatorFlow" : false,
+ "requirement" : "DISABLED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "identity-provider-redirector",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 25,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 30,
+ "autheticatorFlow" : true,
+ "flowAlias" : "forms",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "c26e6180-18b0-493e-b202-bdd347e108e7",
+ "alias" : "clients",
+ "description" : "Base authentication for clients",
+ "providerId" : "client-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "client-secret",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "client-jwt",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "client-secret-jwt",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 30,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "client-x509",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 40,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "ecb65f66-6ba1-4f5e-9299-40dcc8c37ebf",
+ "alias" : "direct grant",
+ "description" : "OpenID Connect Resource Owner Grant",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "direct-grant-validate-username",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "direct-grant-validate-password",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "CONDITIONAL",
+ "priority" : 30,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Direct Grant - Conditional OTP",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "6fc3966f-77d1-4eea-a2cb-6fb46af47deb",
+ "alias" : "docker auth",
+ "description" : "Used by Docker clients to authenticate against the IDP",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "docker-http-basic-authenticator",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "36ac9643-6493-49e6-9841-7f43fcfba50e",
+ "alias" : "first broker login",
+ "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticatorConfig" : "review profile config",
+ "authenticator" : "idp-review-profile",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "User creation or linking",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "98e32cc2-58ce-4c9a-8d16-d93e1a62cc30",
+ "alias" : "forms",
+ "description" : "Username, password, otp and other auth forms.",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "auth-username-password-form",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "CONDITIONAL",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Browser - Conditional OTP",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "5ed32f7b-0ef6-4132-8ad4-ab5717cdcc32",
+ "alias" : "registration",
+ "description" : "registration flow",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "registration-page-form",
+ "authenticatorFlow" : true,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : true,
+ "flowAlias" : "registration form",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "69cb8a4a-9066-479d-8a44-248896c00293",
+ "alias" : "registration form",
+ "description" : "registration form",
+ "providerId" : "form-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "registration-user-creation",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "registration-password-action",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 50,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "registration-recaptcha-action",
+ "authenticatorFlow" : false,
+ "requirement" : "DISABLED",
+ "priority" : 60,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "d71d79e5-9443-427d-9157-c38e5dd6e2ac",
+ "alias" : "reset credentials",
+ "description" : "Reset credentials for a user if they forgot their password or something",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "reset-credentials-choose-user",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "reset-credential-email",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "reset-password",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 30,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "CONDITIONAL",
+ "priority" : 40,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Reset - Conditional OTP",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "f02d25cd-3d25-41b4-b167-09e05518e7dd",
+ "alias" : "saml ecp",
+ "description" : "SAML ECP Profile Authentication Flow",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "http-basic-authenticator",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ } ],
+ "authenticatorConfig" : [ {
+ "id" : "3f77deec-7736-41e1-945c-b4d8b6a5e0c6",
+ "alias" : "create unique user config",
+ "config" : {
+ "require.password.update.after.registration" : "false"
+ }
+ }, {
+ "id" : "65b65c22-9324-4b67-b8bd-fcdf6a989b27",
+ "alias" : "review profile config",
+ "config" : {
+ "update.profile.on.first.login" : "missing"
+ }
+ } ],
+ "requiredActions" : [ {
+ "alias" : "CONFIGURE_TOTP",
+ "name" : "Configure OTP",
+ "providerId" : "CONFIGURE_TOTP",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 10,
+ "config" : { }
+ }, {
+ "alias" : "TERMS_AND_CONDITIONS",
+ "name" : "Terms and Conditions",
+ "providerId" : "TERMS_AND_CONDITIONS",
+ "enabled" : false,
+ "defaultAction" : false,
+ "priority" : 20,
+ "config" : { }
+ }, {
+ "alias" : "UPDATE_PASSWORD",
+ "name" : "Update Password",
+ "providerId" : "UPDATE_PASSWORD",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 30,
+ "config" : { }
+ }, {
+ "alias" : "UPDATE_PROFILE",
+ "name" : "Update Profile",
+ "providerId" : "UPDATE_PROFILE",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 40,
+ "config" : { }
+ }, {
+ "alias" : "VERIFY_EMAIL",
+ "name" : "Verify Email",
+ "providerId" : "VERIFY_EMAIL",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 50,
+ "config" : { }
+ }, {
+ "alias" : "delete_account",
+ "name" : "Delete Account",
+ "providerId" : "delete_account",
+ "enabled" : false,
+ "defaultAction" : false,
+ "priority" : 60,
+ "config" : { }
+ }, {
+ "alias" : "delete_credential",
+ "name" : "Delete Credential",
+ "providerId" : "delete_credential",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 110,
+ "config" : { }
+ }, {
+ "alias" : "idp_link",
+ "name" : "Linking Identity Provider",
+ "providerId" : "idp_link",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 120,
+ "config" : { }
+ }, {
+ "alias" : "update_user_locale",
+ "name" : "Update User Locale",
+ "providerId" : "update_user_locale",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 1000,
+ "config" : { }
+ } ],
+ "browserFlow" : "browser",
+ "registrationFlow" : "registration",
+ "directGrantFlow" : "direct grant",
+ "resetCredentialsFlow" : "reset credentials",
+ "clientAuthenticationFlow" : "clients",
+ "dockerAuthenticationFlow" : "docker auth",
+ "firstBrokerLoginFlow" : "first broker login",
+ "attributes" : {
+ "cibaBackchannelTokenDeliveryMode" : "poll",
+ "cibaExpiresIn" : "120",
+ "cibaAuthRequestedUserHint" : "login_hint",
+ "oauth2DeviceCodeLifespan" : "600",
+ "clientOfflineSessionMaxLifespan" : "0",
+ "oauth2DevicePollingInterval" : "5",
+ "clientSessionIdleTimeout" : "0",
+ "parRequestUriLifespan" : "60",
+ "clientSessionMaxLifespan" : "0",
+ "clientOfflineSessionIdleTimeout" : "0",
+ "cibaInterval" : "5",
+ "realmReusableOtpCode" : "false"
+ },
+ "keycloakVersion" : "26.5.6",
+ "userManagedAccessAllowed" : false,
+ "organizationsEnabled" : false,
+ "verifiableCredentialsEnabled" : false,
+ "adminPermissionsEnabled" : false,
+ "clientProfiles" : {
+ "profiles" : [ ]
+ },
+ "clientPolicies" : {
+ "policies" : [ ]
+ }
+}, {
+ "id" : "master",
+ "realm" : "master",
+ "displayName" : "Keycloak",
+ "displayNameHtml" : "Keycloak
",
+ "notBefore" : 0,
+ "defaultSignatureAlgorithm" : "RS256",
+ "revokeRefreshToken" : false,
+ "refreshTokenMaxReuse" : 0,
+ "accessTokenLifespan" : 60,
+ "accessTokenLifespanForImplicitFlow" : 900,
+ "ssoSessionIdleTimeout" : 1800,
+ "ssoSessionMaxLifespan" : 36000,
+ "ssoSessionIdleTimeoutRememberMe" : 0,
+ "ssoSessionMaxLifespanRememberMe" : 0,
+ "offlineSessionIdleTimeout" : 2592000,
+ "offlineSessionMaxLifespanEnabled" : false,
+ "offlineSessionMaxLifespan" : 5184000,
+ "clientSessionIdleTimeout" : 0,
+ "clientSessionMaxLifespan" : 0,
+ "clientOfflineSessionIdleTimeout" : 0,
+ "clientOfflineSessionMaxLifespan" : 0,
+ "accessCodeLifespan" : 60,
+ "accessCodeLifespanUserAction" : 300,
+ "accessCodeLifespanLogin" : 1800,
+ "actionTokenGeneratedByAdminLifespan" : 43200,
+ "actionTokenGeneratedByUserLifespan" : 300,
+ "oauth2DeviceCodeLifespan" : 600,
+ "oauth2DevicePollingInterval" : 5,
+ "enabled" : true,
+ "sslRequired" : "external",
+ "registrationAllowed" : false,
+ "registrationEmailAsUsername" : false,
+ "rememberMe" : false,
+ "verifyEmail" : false,
+ "loginWithEmailAllowed" : true,
+ "duplicateEmailsAllowed" : false,
+ "resetPasswordAllowed" : false,
+ "editUsernameAllowed" : false,
+ "bruteForceProtected" : false,
+ "permanentLockout" : false,
+ "maxTemporaryLockouts" : 0,
+ "bruteForceStrategy" : "MULTIPLE",
+ "maxFailureWaitSeconds" : 900,
+ "minimumQuickLoginWaitSeconds" : 60,
+ "waitIncrementSeconds" : 60,
+ "quickLoginCheckMilliSeconds" : 1000,
+ "maxDeltaTimeSeconds" : 43200,
+ "failureFactor" : 30,
+ "roles" : {
+ "realm" : [ {
+ "id" : "d987a2e0-921f-4a9e-897e-4434036616eb",
+ "name" : "offline_access",
+ "description" : "${role_offline-access}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "master",
+ "attributes" : { }
+ }, {
+ "id" : "1cc59933-010e-416a-be79-9bb2bce10536",
+ "name" : "uma_authorization",
+ "description" : "${role_uma_authorization}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "master",
+ "attributes" : { }
+ }, {
+ "id" : "e2f5bd9d-4978-4103-8233-e88fd264044b",
+ "name" : "admin",
+ "description" : "${role_admin}",
+ "composite" : true,
+ "composites" : {
+ "realm" : [ "create-realm" ],
+ "client" : {
+ "artemis-keycloak-demo-realm" : [ "view-users", "manage-authorization", "manage-events", "impersonation", "query-clients", "view-events", "manage-clients", "create-client", "view-authorization", "manage-users", "query-users", "manage-identity-providers", "query-realms", "view-realm", "query-groups", "view-clients", "manage-realm", "view-identity-providers" ],
+ "master-realm" : [ "view-realm", "view-events", "query-groups", "impersonation", "manage-identity-providers", "create-client", "manage-authorization", "view-users", "view-authorization", "manage-events", "query-clients", "manage-clients", "view-identity-providers", "query-realms", "manage-users", "query-users", "view-clients", "manage-realm" ]
+ }
+ },
+ "clientRole" : false,
+ "containerId" : "master",
+ "attributes" : { }
+ }, {
+ "id" : "d3db6222-9502-4cf9-8ff7-14528bd29f16",
+ "name" : "create-realm",
+ "description" : "${role_create-realm}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "master",
+ "attributes" : { }
+ }, {
+ "id" : "2b9dcd6f-de2c-4fe9-8c2b-0945e99c27b4",
+ "name" : "default-roles-master",
+ "description" : "${role_default-roles}",
+ "composite" : true,
+ "composites" : {
+ "realm" : [ "offline_access", "uma_authorization" ],
+ "client" : {
+ "account" : [ "view-profile", "manage-account" ]
+ }
+ },
+ "clientRole" : false,
+ "containerId" : "master",
+ "attributes" : { }
+ } ],
+ "client" : {
+ "artemis-keycloak-demo-realm" : [ {
+ "id" : "34f2dbc1-8cb8-4c22-8510-4bdee2cf2dfb",
+ "name" : "query-users",
+ "description" : "${role_query-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "9ce6efa0-4d01-4301-b40f-2be16b68edfc",
+ "name" : "view-users",
+ "description" : "${role_view-users}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "artemis-keycloak-demo-realm" : [ "query-users", "query-groups" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "7b348429-19bf-4a55-9462-01996d6c3fd1",
+ "name" : "manage-authorization",
+ "description" : "${role_manage-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "cf825d1d-8f46-4d6a-8f6c-c5164e2b5668",
+ "name" : "manage-events",
+ "description" : "${role_manage-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "198562c1-7731-486a-a573-3beae2f9a816",
+ "name" : "manage-identity-providers",
+ "description" : "${role_manage-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "9197780d-8760-48b4-b6d8-fcf2263eb3fa",
+ "name" : "impersonation",
+ "description" : "${role_impersonation}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "93dcc4e1-b556-4bda-9fda-acba438ac7b5",
+ "name" : "query-realms",
+ "description" : "${role_query-realms}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "5bc0a7ed-638b-4f89-b790-b5ee6bf860aa",
+ "name" : "query-clients",
+ "description" : "${role_query-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "d6295b0d-7f05-4734-82e4-0e5885a2b236",
+ "name" : "view-events",
+ "description" : "${role_view-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "8cbee38b-555e-44f3-b326-2b8de7e9ac93",
+ "name" : "view-realm",
+ "description" : "${role_view-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "65f1a303-eb8b-49db-b459-a36a363037ea",
+ "name" : "query-groups",
+ "description" : "${role_query-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "66b3eeb6-cea6-4a8b-b5a7-04819b4faaa7",
+ "name" : "create-client",
+ "description" : "${role_create-client}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "017d7535-a3e2-4fde-b5c1-8be214384524",
+ "name" : "manage-clients",
+ "description" : "${role_manage-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "10422b6e-0720-4670-92cb-f783a34a7d47",
+ "name" : "view-clients",
+ "description" : "${role_view-clients}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "artemis-keycloak-demo-realm" : [ "query-clients" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "391780df-30aa-43aa-a82e-2a4766c47871",
+ "name" : "manage-realm",
+ "description" : "${role_manage-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "55048f6c-885a-4c30-80f8-b1a178b288eb",
+ "name" : "view-authorization",
+ "description" : "${role_view-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "fbbcfede-f729-4cee-b089-4fce91f9ec80",
+ "name" : "manage-users",
+ "description" : "${role_manage-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ }, {
+ "id" : "cbbc1e1b-b334-4fe1-96ff-cd1745c7f73e",
+ "name" : "view-identity-providers",
+ "description" : "${role_view-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "attributes" : { }
+ } ],
+ "security-admin-console" : [ ],
+ "admin-cli" : [ ],
+ "account-console" : [ ],
+ "broker" : [ {
+ "id" : "3e208e5d-3286-48b9-b9c8-81636ec76c36",
+ "name" : "read-token",
+ "description" : "${role_read-token}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "ab7b25e3-cafe-4e28-bb86-0a5aa8336748",
+ "attributes" : { }
+ } ],
+ "master-realm" : [ {
+ "id" : "7c6b1224-e501-44f2-8bb1-d20f16398de7",
+ "name" : "manage-clients",
+ "description" : "${role_manage-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "359d5b3d-0c9f-4080-942f-85e5539fac01",
+ "name" : "view-realm",
+ "description" : "${role_view-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "6ac9793f-8dc7-4113-a77c-a53233b41647",
+ "name" : "view-events",
+ "description" : "${role_view-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "1fc98c0b-cf29-4c74-8a26-70c47cfa30da",
+ "name" : "query-groups",
+ "description" : "${role_query-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "91d6f137-1e94-477c-a82c-0bdf2d76b80b",
+ "name" : "view-identity-providers",
+ "description" : "${role_view-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "2f781939-a4d0-4db5-8132-eb0843b7fb68",
+ "name" : "query-realms",
+ "description" : "${role_query-realms}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "67726a5e-6f0e-486e-8fd5-77beb612fc1b",
+ "name" : "manage-users",
+ "description" : "${role_manage-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "8b444e09-30a8-47b2-96a9-7a98df67e05c",
+ "name" : "impersonation",
+ "description" : "${role_impersonation}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "e7e42ff3-db25-49f0-8765-ccf65e1ec095",
+ "name" : "manage-identity-providers",
+ "description" : "${role_manage-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "cfdb9a6c-d2ad-40a1-a3aa-ba176871fcd5",
+ "name" : "query-users",
+ "description" : "${role_query-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "2fab2ef8-00f8-4412-a10f-41fd21b165aa",
+ "name" : "create-client",
+ "description" : "${role_create-client}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "36a8ae16-b16c-43d1-a77e-fecbd24cda83",
+ "name" : "manage-authorization",
+ "description" : "${role_manage-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "6b0e8b92-8b58-400b-b066-8c4c23b80a16",
+ "name" : "view-users",
+ "description" : "${role_view-users}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "master-realm" : [ "query-users", "query-groups" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "4e44df1b-95a1-497f-a6dd-1e83ecce8a26",
+ "name" : "view-authorization",
+ "description" : "${role_view-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "263f5ce0-d2ba-4eed-96c0-0f41cfc0a583",
+ "name" : "manage-events",
+ "description" : "${role_manage-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "40898264-6ca2-4a1c-8be8-8a34dd4128f7",
+ "name" : "view-clients",
+ "description" : "${role_view-clients}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "master-realm" : [ "query-clients" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "1d75ea3a-d1f5-4fa5-8bbc-65dd7ee482e6",
+ "name" : "query-clients",
+ "description" : "${role_query-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ }, {
+ "id" : "70d27c11-ff4a-46f5-a931-ffdaef79b709",
+ "name" : "manage-realm",
+ "description" : "${role_manage-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "attributes" : { }
+ } ],
+ "account" : [ {
+ "id" : "59b9e0f8-3510-41fc-a802-a351863bec0b",
+ "name" : "manage-account-links",
+ "description" : "${role_manage-account-links}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "attributes" : { }
+ }, {
+ "id" : "01444474-f6e7-4f50-b9b0-44024b300561",
+ "name" : "view-profile",
+ "description" : "${role_view-profile}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "attributes" : { }
+ }, {
+ "id" : "c4dd0a8c-4833-4057-b016-d3533ac2e7ee",
+ "name" : "delete-account",
+ "description" : "${role_delete-account}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "attributes" : { }
+ }, {
+ "id" : "51555d66-eefb-4ca9-9acc-7f2a58d990b1",
+ "name" : "manage-consent",
+ "description" : "${role_manage-consent}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "account" : [ "view-consent" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "attributes" : { }
+ }, {
+ "id" : "7104a7de-b829-4758-99c3-8c1dab748bed",
+ "name" : "view-groups",
+ "description" : "${role_view-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "attributes" : { }
+ }, {
+ "id" : "fa876b15-3a0c-43f0-9df6-cc71da962c12",
+ "name" : "view-applications",
+ "description" : "${role_view-applications}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "attributes" : { }
+ }, {
+ "id" : "e8fd620f-b3f7-40ad-ab4e-1d69421b6bd8",
+ "name" : "manage-account",
+ "description" : "${role_manage-account}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "account" : [ "manage-account-links" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "attributes" : { }
+ }, {
+ "id" : "24b5987f-d1ba-4ee0-a6b4-ee54eaf03404",
+ "name" : "view-consent",
+ "description" : "${role_view-consent}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "attributes" : { }
+ } ]
+ }
+ },
+ "groups" : [ ],
+ "defaultRole" : {
+ "id" : "2b9dcd6f-de2c-4fe9-8c2b-0945e99c27b4",
+ "name" : "default-roles-master",
+ "description" : "${role_default-roles}",
+ "composite" : true,
+ "clientRole" : false,
+ "containerId" : "master"
+ },
+ "requiredCredentials" : [ "password" ],
+ "otpPolicyType" : "totp",
+ "otpPolicyAlgorithm" : "HmacSHA1",
+ "otpPolicyInitialCounter" : 0,
+ "otpPolicyDigits" : 6,
+ "otpPolicyLookAheadWindow" : 1,
+ "otpPolicyPeriod" : 30,
+ "otpPolicyCodeReusable" : false,
+ "otpSupportedApplications" : [ "totpAppFreeOTPName", "totpAppGoogleName", "totpAppMicrosoftAuthenticatorName" ],
+ "localizationTexts" : { },
+ "webAuthnPolicyRpEntityName" : "keycloak",
+ "webAuthnPolicySignatureAlgorithms" : [ "ES256" ],
+ "webAuthnPolicyRpId" : "",
+ "webAuthnPolicyAttestationConveyancePreference" : "not specified",
+ "webAuthnPolicyAuthenticatorAttachment" : "not specified",
+ "webAuthnPolicyRequireResidentKey" : "not specified",
+ "webAuthnPolicyUserVerificationRequirement" : "not specified",
+ "webAuthnPolicyCreateTimeout" : 0,
+ "webAuthnPolicyAvoidSameAuthenticatorRegister" : false,
+ "webAuthnPolicyAcceptableAaguids" : [ ],
+ "webAuthnPolicyExtraOrigins" : [ ],
+ "webAuthnPolicyPasswordlessRpEntityName" : "keycloak",
+ "webAuthnPolicyPasswordlessSignatureAlgorithms" : [ "ES256" ],
+ "webAuthnPolicyPasswordlessRpId" : "",
+ "webAuthnPolicyPasswordlessAttestationConveyancePreference" : "not specified",
+ "webAuthnPolicyPasswordlessAuthenticatorAttachment" : "not specified",
+ "webAuthnPolicyPasswordlessRequireResidentKey" : "not specified",
+ "webAuthnPolicyPasswordlessUserVerificationRequirement" : "not specified",
+ "webAuthnPolicyPasswordlessCreateTimeout" : 0,
+ "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister" : false,
+ "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ],
+ "webAuthnPolicyPasswordlessExtraOrigins" : [ ],
+ "users" : [ {
+ "id" : "2e91494d-8b6f-40a4-96cb-fd563e2dd018",
+ "username" : "admin",
+ "emailVerified" : false,
+ "enabled" : true,
+ "createdTimestamp" : 1615203040281,
+ "totp" : false,
+ "credentials" : [ {
+ "id" : "1036bf4f-82e8-41c8-8fdd-0de76673430d",
+ "type" : "password",
+ "createdDate" : 1615203040462,
+ "secretData" : "{\"value\":\"1gwuEtthVwxLpg0JMUmKh/n7QdDZefrrLSeaCtOjtqA=\",\"salt\":\"f366gG5FDOtjAvR0t3gekA==\",\"additionalParameters\":{}}",
+ "credentialData" : "{\"hashIterations\":5,\"algorithm\":\"argon2\",\"additionalParameters\":{\"hashLength\":[\"32\"],\"memory\":[\"7168\"],\"type\":[\"id\"],\"version\":[\"1.3\"],\"parallelism\":[\"1\"]}}"
+ } ],
+ "disableableCredentialTypes" : [ ],
+ "requiredActions" : [ ],
+ "realmRoles" : [ "uma_authorization", "offline_access", "admin" ],
+ "clientRoles" : {
+ "account" : [ "view-profile", "manage-account" ]
+ },
+ "notBefore" : 0,
+ "groups" : [ ]
+ } ],
+ "scopeMappings" : [ {
+ "clientScope" : "offline_access",
+ "roles" : [ "offline_access" ]
+ } ],
+ "clientScopeMappings" : {
+ "account" : [ {
+ "client" : "account-console",
+ "roles" : [ "manage-account", "view-groups" ]
+ } ]
+ },
+ "clients" : [ {
+ "id" : "01870061-242b-4b31-9ce1-42e586acda3e",
+ "clientId" : "account",
+ "name" : "${client_account}",
+ "rootUrl" : "${authBaseUrl}",
+ "baseUrl" : "/realms/master/account/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "secret" : "dd4e0fbc-8d02-40d8-8c1e-6ee71f9baf89",
+ "redirectUris" : [ "/realms/master/account/*" ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : false,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "d007d156-5b9c-444d-8841-5ec020f03dbb",
+ "clientId" : "account-console",
+ "name" : "${client_account-console}",
+ "rootUrl" : "${authBaseUrl}",
+ "baseUrl" : "/realms/master/account/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ "/realms/master/account/*" ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "post.logout.redirect.uris" : "+",
+ "pkce.code.challenge.method" : "S256"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "protocolMappers" : [ {
+ "id" : "1275aa74-3005-4a3b-a15d-72ec70d7a6c1",
+ "name" : "audience resolve",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-audience-resolve-mapper",
+ "consentRequired" : false,
+ "config" : { }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "9f6c3650-3994-4957-8808-b2154b8c71b5",
+ "clientId" : "admin-cli",
+ "name" : "${client_admin-cli}",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : false,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : true,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "client.use.lightweight.access.token.enabled" : "true",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "6f7c1789-8d4c-4b8f-a01c-efcca754204b",
+ "clientId" : "artemis-keycloak-demo-realm",
+ "name" : "artemis-keycloak-demo Realm",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : true,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : false,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "true",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "ab7b25e3-cafe-4e28-bb86-0a5aa8336748",
+ "clientId" : "broker",
+ "name" : "${client_broker}",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "secret" : "43ae2cf4-1334-4e45-9065-2b9ecea15e42",
+ "redirectUris" : [ ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : false,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "true",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "59dbb061-956f-49f5-922e-19660f29c608",
+ "clientId" : "master-realm",
+ "name" : "master Realm",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : true,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : false,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "true",
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "b4bba21a-4347-4625-8bda-567003ac2fe8",
+ "clientId" : "security-admin-console",
+ "name" : "${client_security-admin-console}",
+ "rootUrl" : "${authAdminUrl}",
+ "baseUrl" : "/admin/master/console/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ "/admin/master/console/*" ],
+ "webOrigins" : [ "+" ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "realm_client" : "false",
+ "client.use.lightweight.access.token.enabled" : "true",
+ "post.logout.redirect.uris" : "+",
+ "pkce.code.challenge.method" : "S256"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : 0,
+ "protocolMappers" : [ {
+ "id" : "6a6f44de-236c-42aa-8800-8b87d7512784",
+ "name" : "locale",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "locale",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "locale",
+ "jsonType.label" : "String"
+ }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "profile", "roles", "basic", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ } ],
+ "clientScopes" : [ {
+ "id" : "959f7373-6350-4428-8b35-d0d5e85697ac",
+ "name" : "web-origins",
+ "description" : "OpenID Connect scope for add allowed web origins to the access token",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "false",
+ "consent.screen.text" : ""
+ },
+ "protocolMappers" : [ {
+ "id" : "50e19422-294d-4b66-963d-999d90695a49",
+ "name" : "allowed web origins",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-allowed-origins-mapper",
+ "consentRequired" : false,
+ "config" : { }
+ } ]
+ }, {
+ "id" : "1b1ec0af-50de-4805-b92e-8517f8ae1ce2",
+ "name" : "offline_access",
+ "description" : "OpenID Connect built-in scope: offline_access",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "consent.screen.text" : "${offlineAccessScopeConsentText}",
+ "display.on.consent.screen" : "true"
+ }
+ }, {
+ "id" : "ab056ba3-d42c-4344-bc44-b7b9f8923882",
+ "name" : "profile",
+ "description" : "OpenID Connect built-in scope: profile",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${profileScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "c92dce7a-a3ff-43f0-afb5-f07e719f03e0",
+ "name" : "gender",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "gender",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "gender",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "c2674c3f-1c1a-4b53-aacd-06b0c3761c02",
+ "name" : "birthdate",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "birthdate",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "birthdate",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "5f6af788-0d1a-4271-9e36-ef011c9e933b",
+ "name" : "username",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "username",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "preferred_username",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "bcb25417-25a7-4249-b56e-617d5891ca35",
+ "name" : "updated at",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "updatedAt",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "updated_at",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "9a1d6975-25f5-47c6-8060-249c36e9d3cb",
+ "name" : "given name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "firstName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "given_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "aa327392-ead9-42be-a856-f000276aa555",
+ "name" : "family name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "lastName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "family_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "cfe1e06d-00e0-4fd1-961b-eefdf32af1e1",
+ "name" : "picture",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "picture",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "picture",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "76ba40bf-3d5d-4e47-a59c-5c7156eb2621",
+ "name" : "nickname",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "nickname",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "nickname",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "2c9b21bb-8a15-44d3-9096-7a7d98eb2412",
+ "name" : "locale",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "locale",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "locale",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "4ee31460-a698-4fe0-9035-b90621e03148",
+ "name" : "full name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-full-name-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "userinfo.token.claim" : "true"
+ }
+ }, {
+ "id" : "50026ab8-3e66-49ed-913f-0bb48240237f",
+ "name" : "middle name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "middleName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "middle_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "f57fef92-fd0b-41d7-9715-c244c9994029",
+ "name" : "zoneinfo",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "zoneinfo",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "zoneinfo",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "4b79c8a0-a6c6-4fec-a413-8a19436bfb82",
+ "name" : "profile",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "profile",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "profile",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "a700659d-9715-4d53-acb8-077ecb5bdde1",
+ "name" : "website",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "website",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "website",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "c0a3fa2d-cbfd-4aed-b784-b2f1d0082e3c",
+ "name" : "phone",
+ "description" : "OpenID Connect built-in scope: phone",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${phoneScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "22bc4dae-8f6f-4f6b-9c89-122caf10d2d6",
+ "name" : "phone number verified",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "phoneNumberVerified",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "phone_number_verified",
+ "jsonType.label" : "boolean"
+ }
+ }, {
+ "id" : "c25dbd18-e59d-4e4a-a7df-7ee7dfe1508b",
+ "name" : "phone number",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "phoneNumber",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "phone_number",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "2d955805-8c91-4862-a799-9a35f18c121a",
+ "name" : "role_list",
+ "description" : "SAML role list",
+ "protocol" : "saml",
+ "attributes" : {
+ "consent.screen.text" : "${samlRoleListScopeConsentText}",
+ "display.on.consent.screen" : "true"
+ },
+ "protocolMappers" : [ {
+ "id" : "201c3fa6-47bd-4a87-b0db-23683b20f514",
+ "name" : "role list",
+ "protocol" : "saml",
+ "protocolMapper" : "saml-role-list-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "single" : "false",
+ "attribute.nameformat" : "Basic",
+ "attribute.name" : "Role"
+ }
+ } ]
+ }, {
+ "id" : "33c41e1e-e450-4ec7-adb2-f93e1f7c6d45",
+ "name" : "service_account",
+ "description" : "Specific scope for a client enabled for service accounts",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "false"
+ },
+ "protocolMappers" : [ {
+ "id" : "8d13f6db-d0c9-4bb2-a8eb-5c961cc5453f",
+ "name" : "Client IP Address",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.session.note" : "clientAddress",
+ "introspection.token.claim" : "true",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "clientAddress",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "4daf66fd-d85e-4d9d-a9fa-34392c8243dc",
+ "name" : "Client ID",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.session.note" : "client_id",
+ "introspection.token.claim" : "true",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "client_id",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "c1a3c077-b557-4e30-bee4-4428d480bb05",
+ "name" : "Client Host",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.session.note" : "clientHost",
+ "introspection.token.claim" : "true",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "clientHost",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "d9ee8146-9f43-4f32-be94-537e594edeee",
+ "name" : "email",
+ "description" : "OpenID Connect built-in scope: email",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${emailScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "b73f8051-c286-4eef-9da7-fbdca988a267",
+ "name" : "email",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "email",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "email",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "d494b4a5-3f95-4ad8-85fb-6ab14c2aba98",
+ "name" : "email verified",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "emailVerified",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "email_verified",
+ "jsonType.label" : "boolean"
+ }
+ } ]
+ }, {
+ "id" : "0b32b7ca-77c7-439c-a488-50b210c99356",
+ "name" : "address",
+ "description" : "OpenID Connect built-in scope: address",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${addressScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "3fae9891-8756-4e6c-87e5-1aed666fdc63",
+ "name" : "address",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-address-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.attribute.formatted" : "formatted",
+ "user.attribute.country" : "country",
+ "user.attribute.postal_code" : "postal_code",
+ "userinfo.token.claim" : "true",
+ "user.attribute.street" : "street",
+ "id.token.claim" : "true",
+ "user.attribute.region" : "region",
+ "access.token.claim" : "true",
+ "user.attribute.locality" : "locality"
+ }
+ } ]
+ }, {
+ "id" : "c6bf08bb-081c-4d9a-9fb1-2fc97bcf37f9",
+ "name" : "roles",
+ "description" : "OpenID Connect scope for add user roles to the access token",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "true",
+ "consent.screen.text" : "${rolesScopeConsentText}"
+ },
+ "protocolMappers" : [ {
+ "id" : "db4db305-fe70-44b4-a4ec-9094b7a3f185",
+ "name" : "client roles",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-client-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.attribute" : "foo",
+ "access.token.claim" : "true",
+ "claim.name" : "resource_access.${client_id}.roles",
+ "jsonType.label" : "String",
+ "multivalued" : "true"
+ }
+ }, {
+ "id" : "eee0d8b6-754c-4c71-9ae8-8a85e87d09c0",
+ "name" : "audience resolve",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-audience-resolve-mapper",
+ "consentRequired" : false,
+ "config" : { }
+ }, {
+ "id" : "3bab040e-4846-4712-baac-65f66aca29e7",
+ "name" : "realm roles",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.attribute" : "foo",
+ "access.token.claim" : "true",
+ "claim.name" : "realm_access.roles",
+ "jsonType.label" : "String",
+ "multivalued" : "true"
+ }
+ } ]
+ }, {
+ "id" : "73d67ab8-8c2a-4877-bfab-e3f92ea70fc0",
+ "name" : "microprofile-jwt",
+ "description" : "Microprofile - JWT built-in scope",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "true",
+ "display.on.consent.screen" : "false"
+ },
+ "protocolMappers" : [ {
+ "id" : "caab6c80-219e-49a7-b261-623c9dfc39b3",
+ "name" : "upn",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "username",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "upn",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "2657b7c8-acf5-4a00-8f91-e4481e1a2ef9",
+ "name" : "groups",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "multivalued" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "foo",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "groups",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "0d04eae1-12a2-4fed-a06b-fb184315867d",
+ "name" : "basic",
+ "description" : "OpenID Connect scope for add all basic claims to the token",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "false"
+ },
+ "protocolMappers" : [ {
+ "id" : "ae24f5ea-c6ff-42fe-9f3a-1bb76dbeb189",
+ "name" : "auth_time",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.session.note" : "AUTH_TIME",
+ "introspection.token.claim" : "true",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "auth_time",
+ "jsonType.label" : "long"
+ }
+ }, {
+ "id" : "496bfd40-a24c-4b30-aa8e-af99a2d0e61a",
+ "name" : "sub",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-sub-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true"
+ }
+ } ]
+ }, {
+ "id" : "1e255b41-327e-4797-9a19-0806078a2469",
+ "name" : "acr",
+ "description" : "OpenID Connect scope for add acr (authentication context class reference) to the token",
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "include.in.token.scope" : "false",
+ "display.on.consent.screen" : "false"
+ },
+ "protocolMappers" : [ {
+ "id" : "fadc519b-db6f-488c-8df2-7c310b69d581",
+ "name" : "acr loa level",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-acr-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "userinfo.token.claim" : "true"
+ }
+ } ]
+ } ],
+ "defaultDefaultClientScopes" : [ "role_list", "profile", "email", "roles", "web-origins", "acr", "basic" ],
+ "defaultOptionalClientScopes" : [ "offline_access", "address", "phone", "microprofile-jwt" ],
+ "browserSecurityHeaders" : {
+ "contentSecurityPolicyReportOnly" : "",
+ "xContentTypeOptions" : "nosniff",
+ "referrerPolicy" : "no-referrer",
+ "xRobotsTag" : "none",
+ "xFrameOptions" : "SAMEORIGIN",
+ "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
+ "xXSSProtection" : "1; mode=block",
+ "strictTransportSecurity" : "max-age=31536000; includeSubDomains"
+ },
+ "smtpServer" : { },
+ "eventsEnabled" : false,
+ "eventsListeners" : [ "jboss-logging" ],
+ "enabledEventTypes" : [ ],
+ "adminEventsEnabled" : false,
+ "adminEventsDetailsEnabled" : false,
+ "identityProviders" : [ ],
+ "identityProviderMappers" : [ ],
+ "components" : {
+ "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ {
+ "id" : "19f20c21-e51d-4374-8ab0-581a1caf138f",
+ "name" : "Max Clients Limit",
+ "providerId" : "max-clients",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "max-clients" : [ "200" ]
+ }
+ }, {
+ "id" : "c36a2ef4-bc7e-4ccf-b086-3a0e63d48bce",
+ "name" : "Allowed Protocol Mapper Types",
+ "providerId" : "allowed-protocol-mappers",
+ "subType" : "authenticated",
+ "subComponents" : { },
+ "config" : {
+ "allowed-protocol-mapper-types" : [ "oidc-address-mapper", "oidc-usermodel-attribute-mapper", "oidc-usermodel-property-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-role-list-mapper", "oidc-full-name-mapper" ]
+ }
+ }, {
+ "id" : "68af6607-ca19-4dd7-839b-705e073e218f",
+ "name" : "Full Scope Disabled",
+ "providerId" : "scope",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : { }
+ }, {
+ "id" : "5498a928-14a9-40c0-a39d-6a223664fe3e",
+ "name" : "Consent Required",
+ "providerId" : "consent-required",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : { }
+ }, {
+ "id" : "acd5a341-a9f0-4118-8a60-f71a7f7450e9",
+ "name" : "Allowed Client Scopes",
+ "providerId" : "allowed-client-templates",
+ "subType" : "authenticated",
+ "subComponents" : { },
+ "config" : {
+ "allow-default-scopes" : [ "true" ]
+ }
+ }, {
+ "id" : "eb2a0210-e75e-49d8-b7b6-85478e48c32a",
+ "name" : "Allowed Client Scopes",
+ "providerId" : "allowed-client-templates",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "allow-default-scopes" : [ "true" ]
+ }
+ }, {
+ "id" : "f7b2cf8c-38b3-4ca3-b72e-dbbdb4385c95",
+ "name" : "Allowed Protocol Mapper Types",
+ "providerId" : "allowed-protocol-mappers",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "allowed-protocol-mapper-types" : [ "saml-user-attribute-mapper", "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "saml-user-property-mapper", "saml-role-list-mapper" ]
+ }
+ }, {
+ "id" : "502222e9-8a6b-494d-95af-297ef1a02339",
+ "name" : "Trusted Hosts",
+ "providerId" : "trusted-hosts",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "host-sending-registration-request-must-match" : [ "true" ],
+ "client-uris-must-match" : [ "true" ]
+ }
+ } ],
+ "org.keycloak.userprofile.UserProfileProvider" : [ {
+ "id" : "6cbc0493-5a7e-40d0-bac5-688879de2a78",
+ "providerId" : "declarative-user-profile",
+ "subComponents" : { },
+ "config" : {
+ "kc.user.profile.config" : [ "{\"attributes\":[{\"name\":\"username\",\"displayName\":\"${username}\",\"validations\":{\"length\":{\"min\":3,\"max\":255},\"username-prohibited-characters\":{},\"up-username-not-idn-homograph\":{}},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"email\",\"displayName\":\"${email}\",\"validations\":{\"email\":{},\"length\":{\"max\":255}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"firstName\",\"displayName\":\"${firstName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"lastName\",\"displayName\":\"${lastName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"required\":{\"roles\":[\"user\"]},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false}],\"groups\":[{\"name\":\"user-metadata\",\"displayHeader\":\"User metadata\",\"displayDescription\":\"Attributes, which refer to user metadata\"}],\"unmanagedAttributePolicy\":\"ENABLED\"}" ]
+ }
+ } ],
+ "org.keycloak.keys.KeyProvider" : [ {
+ "id" : "282931c7-919f-4ce9-b2b9-16bf8a1d1c25",
+ "name" : "fallback-HS256",
+ "providerId" : "hmac-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "6633eb56-eedd-4de7-aadc-23c1a67ae17f" ],
+ "secretSize" : [ "64" ],
+ "secret" : [ "XVu0uzhk7Zzw1laElR4cRoW-SoyvBkFtK6HszJCVOVIJqQdiCq9AGs6oNqZ7nfKXL206yF8hkVGAgQlrpwtiDQ" ],
+ "priority" : [ "-100" ],
+ "algorithm" : [ "HS256" ]
+ }
+ }, {
+ "id" : "b8acaf81-dbce-4fd4-8192-f8f3432f31a9",
+ "name" : "fallback-RS256",
+ "providerId" : "rsa-generated",
+ "subComponents" : { },
+ "config" : {
+ "privateKey" : [ "MIIEpAIBAAKCAQEA0+rTbR0e5EoDyP1F1PWKCcy+N2mZBcuWRrWLeFFk6FiYIV9bsGBv/UFgewp2cRemT+Xt6ODY4ZMrUwZoFYTOZVTugSq7Y06a356bdMSIsNybGJg9KneswmKdzNFda2J9UbQOjqMkAbKgrnN2ojYylLqquM633vUKAbsXktOR4T1c3WlpQGA9zWY0Y8uz9bfANGZ9mEowd+Y3IyVhUYCtXp869COfb3qevO2VOSQLF5qdbf3wUZKLKJjhbs/yh/+gqAv5aJQSNxPLWN0s1agoaqC3BjRXB9MyAbem0B6dhn0TnoP/BMAcYcJOpRU3JSGIMJPmBvEIA6XtMYzFYU5muQIDAQABAoIBAE7RXReNKCsyWBwOD0X4mQGyE+FaNh7QrLDZ3ui+JTDBmrt20wxTofNouHCq4IiJikLXOthNoHytlwSHMnkmbvmDUD3cXdu+pZ2cSSdx3YEiW9EW9lDwN+IIebZu/DbvZ7rWpD9q7/5tqJOZwDruu3tTviGESSD0tGcWZdsnM2+5DGdGrURSalKvk66QN4RchpottY3PYRl6TVP1Lcb/5z4DH2QSjDGIuE4n7nQdBJK7jeb4PkbuVbNIMM+LsLVSHlhMz2fKccTSe8klQbgJdjLDM2QXcRSaVujHo44LHZvPmMPLmCJwCH2DBYOTiALx5QiEXUQ+YhWW5VInz6hMdvECgYEA9gD7PY6vcw3q+lGrXV38s2AsC7VNofqMnBV2tjkyo+O0kQTT524WJUHYzVKxJvdtpvVI0Uxc13+6TjbjFx8zMKcnqOw5Fp7H2qCFCL/Abmxg4oOrsUPy1IkM5GckBLOD2A0QKCtwR7hAhvL1OiNko3COXknyk6SgqUBrYISa/SUCgYEA3IdDo91M8qVqQDadALpo4OD/A3/PwOypmGIQqPi3as7sPtaOuIpLV/U5N+YpB6Xh56A6JOEC8l/eBHhqjJEGdQpST5OD37fivYDDqDnKYUEwQNHchOmjpPi4Ern9Fvifg4RiL2f6Fqo/TG5yKimuGy44iG9/zPtJ1muu+HQYEQUCgYBUrcvNybLNGOpclgY10mds21ruAM+jRRpnk9/UI+Yxke0SyiWjETrgQkU9kAxYzGzbPq19FhsTNu1LhQswZ1X4lmFJfV69UZSbxgtlEpRLrlS/Q/GyyB/rVu2wJWy5jY2BriV0nlc86MiVa0ZMZ+h5dgIbpLqyZcXD3N/ZTmwHXQKBgQDIUYpssBo0k3OHbtSBE9Mu6tJa0F/cRF3t0K6Hfp3FxL6ueeFc2iqEdHmMQGLm0pT4/P+z/jzaA6E9+E/47ceqyzxnkn0I3BV3xB52kkA2xataRgeFKGIA+fji8dVnZ2ImajtyCoYOzoj/GZhUmlXP1NV/gaDahyzUPC7M+0/dLQKBgQDAowZ81jYEp4rMLxvc5pqlTTPduZioOyLJZ3a6qSt3OwOWJIkNvrOf/iksssYiIWOfPaZjvels/mPe+c2xtlR2m7+s0HcMkD5BTz/Ai8wdomEQr6bt7mbMo2go1vd03qZumYjSOhqdbNBLHFciqihosOxRYQJ+wv3B730ZsHU+3Q==" ],
+ "certificate" : [ "MIICmzCCAYMCBgF4EZqkKTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZtYXN0ZXIwHhcNMjEwMzA4MTEyOTEwWhcNMzEwMzA4MTEzMDUwWjARMQ8wDQYDVQQDDAZtYXN0ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDT6tNtHR7kSgPI/UXU9YoJzL43aZkFy5ZGtYt4UWToWJghX1uwYG/9QWB7CnZxF6ZP5e3o4NjhkytTBmgVhM5lVO6BKrtjTprfnpt0xIiw3JsYmD0qd6zCYp3M0V1rYn1RtA6OoyQBsqCuc3aiNjKUuqq4zrfe9QoBuxeS05HhPVzdaWlAYD3NZjRjy7P1t8A0Zn2YSjB35jcjJWFRgK1enzr0I59vep687ZU5JAsXmp1t/fBRkosomOFuz/KH/6CoC/lolBI3E8tY3SzVqChqoLcGNFcH0zIBt6bQHp2GfROeg/8EwBxhwk6lFTclIYgwk+YG8QgDpe0xjMVhTma5AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHFlLUV/X5A556mxt68aSkqZZLg8bRpDSjklAXBGhedtElMcMfo9EaJorAzleQrSxr/wHH2ROnvmpH1YmNZtibhBhmsde6EDVXj4f7B/mYsvkH3z99gCWutyKlxmErD8gjyvgCEsx9PmAHiwmvtrdNCE+2gzrEhEijVemxlrRM51xKybOSBmZcdVSiHMJeGFnitQQwjfTb3Ypd1a+Btl9D4fL+Fd/FgwzswT8zIaJn7oR0HSRuHScGcQt72fMhRfeLxgJ+ItJjv0PowHBvBtaGYAx66IhydpLoOUuod511z9T+sF7YymiVEF6sIgMtw5//4mdCSyNNKa925lRVlZuc8=" ],
+ "priority" : [ "-100" ],
+ "algorithm" : [ "RS256" ]
+ }
+ }, {
+ "id" : "3c478753-0980-441c-9287-a1d65df5fe1d",
+ "name" : "fallback-AES",
+ "providerId" : "aes-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "ec462da8-3fad-4daa-bb6d-187c9d361217" ],
+ "secret" : [ "PiEtJ1e0C7Hg91sn0L20hQ" ],
+ "priority" : [ "-100" ]
+ }
+ }, {
+ "id" : "33fb3b10-3b49-4351-ade8-8964fb57ed56",
+ "name" : "hmac-generated-hs512",
+ "providerId" : "hmac-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "28f545e8-08cb-47c3-83dc-01f754cb6583" ],
+ "secret" : [ "-qqoISxCcH_CimAezp-esz85TaUhBVBrzN0zZMRP8cFmTNz0Ylwg-ajzMasp4oKYZ8ZY9jT8a1yROGMpYeUf-TkPdIt3zprXwWGVciMrzCfurJV419RTXVbWZ5X3rABI9WJ9JE5vTXXdNatGLuf197mySg7eEf9KPxvtj6I9IZ4" ],
+ "priority" : [ "100" ],
+ "algorithm" : [ "HS512" ]
+ }
+ } ]
+ },
+ "internationalizationEnabled" : false,
+ "authenticationFlows" : [ {
+ "id" : "ec53cf3f-6bf9-4864-8c3b-d3b53a72e545",
+ "alias" : "Account verification options",
+ "description" : "Method with which to verity the existing account",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "idp-email-verification",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Verify Existing Account by Re-authentication",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "a3f45098-aaf2-4a57-8756-5575ae68e699",
+ "alias" : "Browser - Conditional OTP",
+ "description" : "Flow to determine if the OTP is required for the authentication",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "conditional-user-configured",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "auth-otp-form",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "7479683d-ef8f-40ad-b0e2-6d9a3a29b422",
+ "alias" : "Direct Grant - Conditional OTP",
+ "description" : "Flow to determine if the OTP is required for the authentication",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "conditional-user-configured",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "direct-grant-validate-otp",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "00083072-d0ed-473c-b716-99a62bfab165",
+ "alias" : "First broker login - Conditional OTP",
+ "description" : "Flow to determine if the OTP is required for the authentication",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "conditional-user-configured",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "auth-otp-form",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "bb3fbf82-b962-41ba-aec7-b5468e3370a3",
+ "alias" : "Handle Existing Account",
+ "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "idp-confirm-link",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Account verification options",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "49d11517-9770-47dc-afa9-a7c77ef2d938",
+ "alias" : "Reset - Conditional OTP",
+ "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "conditional-user-configured",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "reset-otp",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "13f152b3-81cb-483a-a947-a058f0c8e4ea",
+ "alias" : "User creation or linking",
+ "description" : "Flow for the existing/non-existing user alternatives",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticatorConfig" : "create unique user config",
+ "authenticator" : "idp-create-user-if-unique",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Handle Existing Account",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "5850251d-b590-4b05-9802-bde0b81d33c3",
+ "alias" : "Verify Existing Account by Re-authentication",
+ "description" : "Reauthentication of existing account",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "idp-username-password-form",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "CONDITIONAL",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "First broker login - Conditional OTP",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "fb2043a4-6985-47f3-a996-c194f6c9e506",
+ "alias" : "browser",
+ "description" : "browser based authentication",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "auth-cookie",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "auth-spnego",
+ "authenticatorFlow" : false,
+ "requirement" : "DISABLED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "identity-provider-redirector",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 25,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 30,
+ "autheticatorFlow" : true,
+ "flowAlias" : "forms",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "65d9cbb3-ab2b-48f6-9743-8591cb7b7ada",
+ "alias" : "clients",
+ "description" : "Base authentication for clients",
+ "providerId" : "client-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "client-secret",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "client-jwt",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "client-secret-jwt",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 30,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "client-x509",
+ "authenticatorFlow" : false,
+ "requirement" : "ALTERNATIVE",
+ "priority" : 40,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "693be46d-26fa-4077-bdc0-6c954f15aab1",
+ "alias" : "direct grant",
+ "description" : "OpenID Connect Resource Owner Grant",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "direct-grant-validate-username",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "direct-grant-validate-password",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "CONDITIONAL",
+ "priority" : 30,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Direct Grant - Conditional OTP",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "2e5a3d54-597c-4f63-adf4-8ba4378f293c",
+ "alias" : "docker auth",
+ "description" : "Used by Docker clients to authenticate against the IDP",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "docker-http-basic-authenticator",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "ab7f8c26-acd6-4943-948a-14b3b730eba4",
+ "alias" : "first broker login",
+ "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticatorConfig" : "review profile config",
+ "authenticator" : "idp-review-profile",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "User creation or linking",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "28d0db1d-ccb0-4f9c-a23c-fb264d4ef78d",
+ "alias" : "forms",
+ "description" : "Username, password, otp and other auth forms.",
+ "providerId" : "basic-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "auth-username-password-form",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "CONDITIONAL",
+ "priority" : 20,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Browser - Conditional OTP",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "fe659681-a597-4225-8093-0a66a1c8bbb7",
+ "alias" : "registration",
+ "description" : "registration flow",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "registration-page-form",
+ "authenticatorFlow" : true,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : true,
+ "flowAlias" : "registration form",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "f9b8e0b9-0530-411d-95db-d2fef37bd6c2",
+ "alias" : "registration form",
+ "description" : "registration form",
+ "providerId" : "form-flow",
+ "topLevel" : false,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "registration-user-creation",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "registration-password-action",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 50,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "registration-recaptcha-action",
+ "authenticatorFlow" : false,
+ "requirement" : "DISABLED",
+ "priority" : 60,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "46e4ab2c-d660-45e6-99f0-62001b73fe1a",
+ "alias" : "reset credentials",
+ "description" : "Reset credentials for a user if they forgot their password or something",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "reset-credentials-choose-user",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "reset-credential-email",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 20,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticator" : "reset-password",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 30,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ }, {
+ "authenticatorFlow" : true,
+ "requirement" : "CONDITIONAL",
+ "priority" : 40,
+ "autheticatorFlow" : true,
+ "flowAlias" : "Reset - Conditional OTP",
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "1f2ce665-b5a5-4e99-a64f-b5506cc542da",
+ "alias" : "saml ecp",
+ "description" : "SAML ECP Profile Authentication Flow",
+ "providerId" : "basic-flow",
+ "topLevel" : true,
+ "builtIn" : true,
+ "authenticationExecutions" : [ {
+ "authenticator" : "http-basic-authenticator",
+ "authenticatorFlow" : false,
+ "requirement" : "REQUIRED",
+ "priority" : 10,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ } ],
+ "authenticatorConfig" : [ {
+ "id" : "395afb8f-575b-45b8-a34c-23c0d3533848",
+ "alias" : "create unique user config",
+ "config" : {
+ "require.password.update.after.registration" : "false"
+ }
+ }, {
+ "id" : "efea6a5f-d66c-41e9-90fd-4aae49540245",
+ "alias" : "review profile config",
+ "config" : {
+ "update.profile.on.first.login" : "missing"
+ }
+ } ],
+ "requiredActions" : [ {
+ "alias" : "CONFIGURE_TOTP",
+ "name" : "Configure OTP",
+ "providerId" : "CONFIGURE_TOTP",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 10,
+ "config" : { }
+ }, {
+ "alias" : "TERMS_AND_CONDITIONS",
+ "name" : "Terms and Conditions",
+ "providerId" : "TERMS_AND_CONDITIONS",
+ "enabled" : false,
+ "defaultAction" : false,
+ "priority" : 20,
+ "config" : { }
+ }, {
+ "alias" : "UPDATE_PASSWORD",
+ "name" : "Update Password",
+ "providerId" : "UPDATE_PASSWORD",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 30,
+ "config" : { }
+ }, {
+ "alias" : "UPDATE_PROFILE",
+ "name" : "Update Profile",
+ "providerId" : "UPDATE_PROFILE",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 40,
+ "config" : { }
+ }, {
+ "alias" : "VERIFY_EMAIL",
+ "name" : "Verify Email",
+ "providerId" : "VERIFY_EMAIL",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 50,
+ "config" : { }
+ }, {
+ "alias" : "delete_account",
+ "name" : "Delete Account",
+ "providerId" : "delete_account",
+ "enabled" : false,
+ "defaultAction" : false,
+ "priority" : 60,
+ "config" : { }
+ }, {
+ "alias" : "delete_credential",
+ "name" : "Delete Credential",
+ "providerId" : "delete_credential",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 110,
+ "config" : { }
+ }, {
+ "alias" : "idp_link",
+ "name" : "Linking Identity Provider",
+ "providerId" : "idp_link",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 120,
+ "config" : { }
+ }, {
+ "alias" : "update_user_locale",
+ "name" : "Update User Locale",
+ "providerId" : "update_user_locale",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 1000,
+ "config" : { }
+ } ],
+ "browserFlow" : "browser",
+ "registrationFlow" : "registration",
+ "directGrantFlow" : "direct grant",
+ "resetCredentialsFlow" : "reset credentials",
+ "clientAuthenticationFlow" : "clients",
+ "dockerAuthenticationFlow" : "docker auth",
+ "firstBrokerLoginFlow" : "first broker login",
+ "attributes" : {
+ "cibaBackchannelTokenDeliveryMode" : "poll",
+ "cibaExpiresIn" : "120",
+ "cibaAuthRequestedUserHint" : "login_hint",
+ "oauth2DeviceCodeLifespan" : "600",
+ "clientOfflineSessionMaxLifespan" : "0",
+ "oauth2DevicePollingInterval" : "5",
+ "clientSessionIdleTimeout" : "0",
+ "parRequestUriLifespan" : "60",
+ "clientSessionMaxLifespan" : "0",
+ "clientOfflineSessionIdleTimeout" : "0",
+ "cibaInterval" : "5",
+ "realmReusableOtpCode" : "false"
+ },
+ "keycloakVersion" : "26.5.6",
+ "userManagedAccessAllowed" : false,
+ "organizationsEnabled" : false,
+ "verifiableCredentialsEnabled" : false,
+ "adminPermissionsEnabled" : false,
+ "clientProfiles" : {
+ "profiles" : [ ]
+ },
+ "clientPolicies" : {
+ "policies" : [ ]
+ }
+} ]
\ No newline at end of file
diff --git a/examples/features/standard/security-oidc/src/main/resources/images/keycloak-login.png b/examples/features/standard/security-oidc/src/main/resources/images/keycloak-login.png
new file mode 100644
index 00000000..d80530f8
Binary files /dev/null and b/examples/features/standard/security-oidc/src/main/resources/images/keycloak-login.png differ
diff --git a/examples/features/standard/security-oidc/src/main/resources/jndi.properties b/examples/features/standard/security-oidc/src/main/resources/jndi.properties
new file mode 100644
index 00000000..271bcf29
--- /dev/null
+++ b/examples/features/standard/security-oidc/src/main/resources/jndi.properties
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory
+connectionFactory.ConnectionFactory=tcp://localhost:61616
+queue.queue/Info=Info
\ No newline at end of file
diff --git a/examples/features/standard/security/pom.xml b/examples/features/standard/security/pom.xml
index 30656243..00974ea5 100644
--- a/examples/features/standard/security/pom.xml
+++ b/examples/features/standard/security/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
security
diff --git a/examples/features/standard/send-acknowledgements/pom.xml b/examples/features/standard/send-acknowledgements/pom.xml
index 5ecf5ffc..d671cc7c 100644
--- a/examples/features/standard/send-acknowledgements/pom.xml
+++ b/examples/features/standard/send-acknowledgements/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
send-acknowledgements
diff --git a/examples/features/standard/shared-consumer/pom.xml b/examples/features/standard/shared-consumer/pom.xml
index dca17add..30aa200e 100644
--- a/examples/features/standard/shared-consumer/pom.xml
+++ b/examples/features/standard/shared-consumer/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
shared-consumer
diff --git a/examples/features/standard/slow-consumer/pom.xml b/examples/features/standard/slow-consumer/pom.xml
index d8db6fc0..f49c6e5c 100644
--- a/examples/features/standard/slow-consumer/pom.xml
+++ b/examples/features/standard/slow-consumer/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
slow-consumer
diff --git a/examples/features/standard/spring-boot-integration/pom.xml b/examples/features/standard/spring-boot-integration/pom.xml
index 828d2706..1dcbbd3d 100644
--- a/examples/features/standard/spring-boot-integration/pom.xml
+++ b/examples/features/standard/spring-boot-integration/pom.xml
@@ -18,7 +18,7 @@
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
spring-boot-integration
Apache Artemis JMS Spring Boot Integration Example
diff --git a/examples/features/standard/spring-integration/pom.xml b/examples/features/standard/spring-integration/pom.xml
index b4e7038c..47d9df64 100644
--- a/examples/features/standard/spring-integration/pom.xml
+++ b/examples/features/standard/spring-integration/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
spring-integration
diff --git a/examples/features/standard/ssl-enabled-crl-mqtt/pom.xml b/examples/features/standard/ssl-enabled-crl-mqtt/pom.xml
index 60602740..73c11305 100644
--- a/examples/features/standard/ssl-enabled-crl-mqtt/pom.xml
+++ b/examples/features/standard/ssl-enabled-crl-mqtt/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
ssl-enabled-crl-mqtt
diff --git a/examples/features/standard/ssl-enabled-dual-authentication/pom.xml b/examples/features/standard/ssl-enabled-dual-authentication/pom.xml
index 3b0a3662..88047556 100644
--- a/examples/features/standard/ssl-enabled-dual-authentication/pom.xml
+++ b/examples/features/standard/ssl-enabled-dual-authentication/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
ssl-enabled-dual-authentication
diff --git a/examples/features/standard/ssl-enabled/pom.xml b/examples/features/standard/ssl-enabled/pom.xml
index 54f5a906..53bad050 100644
--- a/examples/features/standard/ssl-enabled/pom.xml
+++ b/examples/features/standard/ssl-enabled/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
ssl-enabled
diff --git a/examples/features/standard/static-selector/pom.xml b/examples/features/standard/static-selector/pom.xml
index 81eb09a1..81a16d4d 100644
--- a/examples/features/standard/static-selector/pom.xml
+++ b/examples/features/standard/static-selector/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
static-selector
diff --git a/examples/features/standard/temp-queue/pom.xml b/examples/features/standard/temp-queue/pom.xml
index f6c7d562..58932374 100644
--- a/examples/features/standard/temp-queue/pom.xml
+++ b/examples/features/standard/temp-queue/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
temp-queue
diff --git a/examples/features/standard/topic-hierarchies/pom.xml b/examples/features/standard/topic-hierarchies/pom.xml
index 1a98ecca..0a2bc76b 100644
--- a/examples/features/standard/topic-hierarchies/pom.xml
+++ b/examples/features/standard/topic-hierarchies/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
topic-hierarchies
diff --git a/examples/features/standard/topic-selector1/pom.xml b/examples/features/standard/topic-selector1/pom.xml
index 83a76409..b9fc0c56 100644
--- a/examples/features/standard/topic-selector1/pom.xml
+++ b/examples/features/standard/topic-selector1/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
topic-selector1
diff --git a/examples/features/standard/topic-selector2/pom.xml b/examples/features/standard/topic-selector2/pom.xml
index 4d145f13..85336d7b 100644
--- a/examples/features/standard/topic-selector2/pom.xml
+++ b/examples/features/standard/topic-selector2/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
topic-selector2
diff --git a/examples/features/standard/topic/pom.xml b/examples/features/standard/topic/pom.xml
index db112fc2..0a4b5adf 100644
--- a/examples/features/standard/topic/pom.xml
+++ b/examples/features/standard/topic/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
topic
diff --git a/examples/features/standard/transactional/pom.xml b/examples/features/standard/transactional/pom.xml
index 97a65317..0b7fe7d0 100644
--- a/examples/features/standard/transactional/pom.xml
+++ b/examples/features/standard/transactional/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
transactional
diff --git a/examples/features/standard/xa-heuristic/pom.xml b/examples/features/standard/xa-heuristic/pom.xml
index b008f54e..cd399c9c 100644
--- a/examples/features/standard/xa-heuristic/pom.xml
+++ b/examples/features/standard/xa-heuristic/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
xa-heuristic
diff --git a/examples/features/standard/xa-receive/pom.xml b/examples/features/standard/xa-receive/pom.xml
index c1410a27..e857dc75 100644
--- a/examples/features/standard/xa-receive/pom.xml
+++ b/examples/features/standard/xa-receive/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
xa-receive
diff --git a/examples/features/standard/xa-send/pom.xml b/examples/features/standard/xa-send/pom.xml
index 89f3d1c9..84ee81df 100644
--- a/examples/features/standard/xa-send/pom.xml
+++ b/examples/features/standard/xa-send/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.broker
jms-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
xa-send
diff --git a/examples/features/sub-modules/artemis-jakarta-ra-rar/pom.xml b/examples/features/sub-modules/artemis-jakarta-ra-rar/pom.xml
index e571d235..8f42eddf 100644
--- a/examples/features/sub-modules/artemis-jakarta-ra-rar/pom.xml
+++ b/examples/features/sub-modules/artemis-jakarta-ra-rar/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.modules
broker-modules
- 2.53.0
+ 2.54.0-SNAPSHOT
artemis-jakarta-rar
diff --git a/examples/features/sub-modules/artemis-ra-rar/pom.xml b/examples/features/sub-modules/artemis-ra-rar/pom.xml
index 70c3a240..940655ff 100644
--- a/examples/features/sub-modules/artemis-ra-rar/pom.xml
+++ b/examples/features/sub-modules/artemis-ra-rar/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.modules
broker-modules
- 2.53.0
+ 2.54.0-SNAPSHOT
artemis-rar
diff --git a/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml b/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml
index bc5d0a46..2fe44861 100644
--- a/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml
+++ b/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge/pom.xml
@@ -25,7 +25,7 @@ under the License.
org.apache.artemis.examples.modules
inter-broker-bridge-pom
- 2.53.0
+ 2.54.0-SNAPSHOT
artemis-jms-bridge
diff --git a/examples/features/sub-modules/inter-broker-bridge/pom.xml b/examples/features/sub-modules/inter-broker-bridge/pom.xml
index 0ed7482a..277d1f4b 100644
--- a/examples/features/sub-modules/inter-broker-bridge/pom.xml
+++ b/examples/features/sub-modules/inter-broker-bridge/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.modules
broker-modules
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.modules
diff --git a/examples/features/sub-modules/pom.xml b/examples/features/sub-modules/pom.xml
index 5ebd3996..ef499694 100644
--- a/examples/features/sub-modules/pom.xml
+++ b/examples/features/sub-modules/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.clustered
broker-features
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.modules
diff --git a/examples/features/sub-modules/queue-artemis-jakarta-client-all/pom.xml b/examples/features/sub-modules/queue-artemis-jakarta-client-all/pom.xml
index dcd1ea8c..7ea5bca4 100644
--- a/examples/features/sub-modules/queue-artemis-jakarta-client-all/pom.xml
+++ b/examples/features/sub-modules/queue-artemis-jakarta-client-all/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.modules
broker-modules
- 2.53.0
+ 2.54.0-SNAPSHOT
queue-artemis-jakarta-client-all
diff --git a/examples/features/sub-modules/queue-artemis-jms-client-all/pom.xml b/examples/features/sub-modules/queue-artemis-jms-client-all/pom.xml
index 06e706c2..108dea78 100644
--- a/examples/features/sub-modules/queue-artemis-jms-client-all/pom.xml
+++ b/examples/features/sub-modules/queue-artemis-jms-client-all/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.modules
broker-modules
- 2.53.0
+ 2.54.0-SNAPSHOT
queue-artemis-jms-client-all
diff --git a/examples/features/sub-modules/tomcat/pom.xml b/examples/features/sub-modules/tomcat/pom.xml
index 31d165bb..118cf26c 100644
--- a/examples/features/sub-modules/tomcat/pom.xml
+++ b/examples/features/sub-modules/tomcat/pom.xml
@@ -23,7 +23,7 @@ under the License.
org.apache.artemis.examples.modules
broker-modules
- 2.53.0
+ 2.54.0-SNAPSHOT
diff --git a/examples/pom.xml b/examples/pom.xml
index b94d43a2..f6d30675 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples
artemis-examples-build
- 2.53.0
+ 2.54.0-SNAPSHOT
artemis-examples
diff --git a/examples/protocols/amqp/pom.xml b/examples/protocols/amqp/pom.xml
index 3ad56d68..d196f0ec 100644
--- a/examples/protocols/amqp/pom.xml
+++ b/examples/protocols/amqp/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.protocols
protocols
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.amqp
diff --git a/examples/protocols/amqp/proton-clustered-cpp/pom.xml b/examples/protocols/amqp/proton-clustered-cpp/pom.xml
index 4dcab3fb..bfbf956b 100644
--- a/examples/protocols/amqp/proton-clustered-cpp/pom.xml
+++ b/examples/protocols/amqp/proton-clustered-cpp/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.amqp
amqp
- 2.53.0
+ 2.54.0-SNAPSHOT
proton-clustered-cpp
diff --git a/examples/protocols/amqp/proton-cpp/pom.xml b/examples/protocols/amqp/proton-cpp/pom.xml
index 9eb50de2..17d4bf04 100644
--- a/examples/protocols/amqp/proton-cpp/pom.xml
+++ b/examples/protocols/amqp/proton-cpp/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.amqp
amqp
- 2.53.0
+ 2.54.0-SNAPSHOT
protoncpp
diff --git a/examples/protocols/amqp/proton-ruby/pom.xml b/examples/protocols/amqp/proton-ruby/pom.xml
index 8b580e53..d7543576 100644
--- a/examples/protocols/amqp/proton-ruby/pom.xml
+++ b/examples/protocols/amqp/proton-ruby/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.amqp
amqp
- 2.53.0
+ 2.54.0-SNAPSHOT
proton-ruby
diff --git a/examples/protocols/amqp/queue/pom.xml b/examples/protocols/amqp/queue/pom.xml
index cc1ff546..75d0eaf4 100644
--- a/examples/protocols/amqp/queue/pom.xml
+++ b/examples/protocols/amqp/queue/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.amqp
amqp
- 2.53.0
+ 2.54.0-SNAPSHOT
queue
diff --git a/examples/protocols/amqp/sasl-scram/pom.xml b/examples/protocols/amqp/sasl-scram/pom.xml
index ab3738d2..b21eda6d 100644
--- a/examples/protocols/amqp/sasl-scram/pom.xml
+++ b/examples/protocols/amqp/sasl-scram/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.amqp
amqp
- 2.53.0
+ 2.54.0-SNAPSHOT
${project.basedir}/../../../..
diff --git a/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml b/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml
index 09fa57fb..89d12af2 100644
--- a/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml
+++ b/examples/protocols/mqtt/clustered-queue-mqtt/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.mqtt
mqtt-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
clustered-queue-mqtt
diff --git a/examples/protocols/mqtt/pom.xml b/examples/protocols/mqtt/pom.xml
index e880283c..2500af7d 100644
--- a/examples/protocols/mqtt/pom.xml
+++ b/examples/protocols/mqtt/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.protocols
protocols
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.mqtt
diff --git a/examples/protocols/mqtt/publish-subscribe/pom.xml b/examples/protocols/mqtt/publish-subscribe/pom.xml
index 4f613d21..48903fa6 100644
--- a/examples/protocols/mqtt/publish-subscribe/pom.xml
+++ b/examples/protocols/mqtt/publish-subscribe/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.mqtt
mqtt-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
publish-subscribe
diff --git a/examples/protocols/openwire/chat/pom.xml b/examples/protocols/openwire/chat/pom.xml
index bc5f4e5d..d522a314 100644
--- a/examples/protocols/openwire/chat/pom.xml
+++ b/examples/protocols/openwire/chat/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.openwire
openwire-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
chat-example
diff --git a/examples/protocols/openwire/message-listener/pom.xml b/examples/protocols/openwire/message-listener/pom.xml
index 32517d15..42e4fe82 100644
--- a/examples/protocols/openwire/message-listener/pom.xml
+++ b/examples/protocols/openwire/message-listener/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.openwire
openwire-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
message-listener
diff --git a/examples/protocols/openwire/message-recovery/pom.xml b/examples/protocols/openwire/message-recovery/pom.xml
index 94ec194d..cd1ce9e6 100644
--- a/examples/protocols/openwire/message-recovery/pom.xml
+++ b/examples/protocols/openwire/message-recovery/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.openwire
openwire-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
message-recovery
diff --git a/examples/protocols/openwire/pom.xml b/examples/protocols/openwire/pom.xml
index 69057c17..9a33b762 100644
--- a/examples/protocols/openwire/pom.xml
+++ b/examples/protocols/openwire/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.protocols
protocols
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.openwire
diff --git a/examples/protocols/openwire/queue/pom.xml b/examples/protocols/openwire/queue/pom.xml
index e2333e39..d14aacfd 100644
--- a/examples/protocols/openwire/queue/pom.xml
+++ b/examples/protocols/openwire/queue/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.openwire
openwire-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
queue-openwire
diff --git a/examples/protocols/openwire/virtual-topic-mapping/pom.xml b/examples/protocols/openwire/virtual-topic-mapping/pom.xml
index 8a793aa8..4008aba5 100644
--- a/examples/protocols/openwire/virtual-topic-mapping/pom.xml
+++ b/examples/protocols/openwire/virtual-topic-mapping/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.openwire
openwire-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
virtual-topic-mapping
diff --git a/examples/protocols/pom.xml b/examples/protocols/pom.xml
index ab2dd241..67840ec8 100644
--- a/examples/protocols/pom.xml
+++ b/examples/protocols/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples
artemis-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.protocols
diff --git a/examples/protocols/stomp/pom.xml b/examples/protocols/stomp/pom.xml
index 4cc42858..fd458080 100644
--- a/examples/protocols/stomp/pom.xml
+++ b/examples/protocols/stomp/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.protocols
protocols
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples.stomp
diff --git a/examples/protocols/stomp/stomp-dual-authentication/pom.xml b/examples/protocols/stomp/stomp-dual-authentication/pom.xml
index 5ed39ca3..c2e17aed 100644
--- a/examples/protocols/stomp/stomp-dual-authentication/pom.xml
+++ b/examples/protocols/stomp/stomp-dual-authentication/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.stomp
stomp-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
stomp-dual-authentication
diff --git a/examples/protocols/stomp/stomp-dual-authentication/src/main/java/org/apache/activemq/artemis/jms/example/StompDualAuthenticationExample.java b/examples/protocols/stomp/stomp-dual-authentication/src/main/java/org/apache/activemq/artemis/jms/example/StompDualAuthenticationExample.java
index 83464942..6026d1d1 100644
--- a/examples/protocols/stomp/stomp-dual-authentication/src/main/java/org/apache/activemq/artemis/jms/example/StompDualAuthenticationExample.java
+++ b/examples/protocols/stomp/stomp-dual-authentication/src/main/java/org/apache/activemq/artemis/jms/example/StompDualAuthenticationExample.java
@@ -68,6 +68,7 @@ public static void main(final String[] args) throws Exception {
String text = "Hello, world from Stomp!";
String message = "SEND\n" +
"destination: exampleQueue\n" +
+ "destination-type: ANYCAST\n" +
"\n" +
text +
END_OF_FRAME;
diff --git a/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml b/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml
index 5e205019..38ea1630 100644
--- a/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml
+++ b/examples/protocols/stomp/stomp-embedded-interceptor/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.stomp
stomp-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
stomp-embedded-interceptor
diff --git a/examples/protocols/stomp/stomp-embedded-interceptor/src/main/java/org/apache/activemq/artemis/jms/example/StompEmbeddedWithInterceptorExample.java b/examples/protocols/stomp/stomp-embedded-interceptor/src/main/java/org/apache/activemq/artemis/jms/example/StompEmbeddedWithInterceptorExample.java
index fd661b9d..ed3a0d18 100644
--- a/examples/protocols/stomp/stomp-embedded-interceptor/src/main/java/org/apache/activemq/artemis/jms/example/StompEmbeddedWithInterceptorExample.java
+++ b/examples/protocols/stomp/stomp-embedded-interceptor/src/main/java/org/apache/activemq/artemis/jms/example/StompEmbeddedWithInterceptorExample.java
@@ -52,7 +52,8 @@ public static void main(final String[] args) throws Exception {
// jms.queue.exampleQueue address with a text body
String text = "Hello World from Stomp 1.2 !";
String message = "SEND\n" +
- "destination:exampleQueue" +
+ "destination:exampleQueue\n" +
+ "destination-type:ANYCAST\n" +
"\n" +
text +
END_OF_FRAME;
diff --git a/examples/protocols/stomp/stomp-jms/pom.xml b/examples/protocols/stomp/stomp-jms/pom.xml
index 004e7360..16cf77fc 100644
--- a/examples/protocols/stomp/stomp-jms/pom.xml
+++ b/examples/protocols/stomp/stomp-jms/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.stomp
stomp-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
stomp-jms
diff --git a/examples/protocols/stomp/stomp-websockets/pom.xml b/examples/protocols/stomp/stomp-websockets/pom.xml
index 9bacce21..b1ff52fc 100644
--- a/examples/protocols/stomp/stomp-websockets/pom.xml
+++ b/examples/protocols/stomp/stomp-websockets/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.stomp
stomp-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
stomp-websockets
diff --git a/examples/protocols/stomp/stomp/pom.xml b/examples/protocols/stomp/stomp/pom.xml
index 960cbdd7..2f7d62d6 100644
--- a/examples/protocols/stomp/stomp/pom.xml
+++ b/examples/protocols/stomp/stomp/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.stomp
stomp-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
stomp
diff --git a/examples/protocols/stomp/stomp1.1/pom.xml b/examples/protocols/stomp/stomp1.1/pom.xml
index 0b40ded7..0f574eba 100644
--- a/examples/protocols/stomp/stomp1.1/pom.xml
+++ b/examples/protocols/stomp/stomp1.1/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.stomp
stomp-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
stomp1.1
diff --git a/examples/protocols/stomp/stomp1.2/pom.xml b/examples/protocols/stomp/stomp1.2/pom.xml
index 60ce5f59..ee0090e7 100644
--- a/examples/protocols/stomp/stomp1.2/pom.xml
+++ b/examples/protocols/stomp/stomp1.2/pom.xml
@@ -24,7 +24,7 @@ under the License.
org.apache.artemis.examples.stomp
stomp-examples
- 2.53.0
+ 2.54.0-SNAPSHOT
stomp1.2
diff --git a/pom.xml b/pom.xml
index a4c3eee4..5af91403 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,12 +24,12 @@ under the License.
org.apache.artemis
artemis-pom
- 2.53.0
+ 2.54.0-SNAPSHOT
org.apache.artemis.examples
artemis-examples-build
- 2.53.0
+ 2.54.0-SNAPSHOT
pom
Apache Artemis Examples Build