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: + +![Login screen](src/main/resources/images/keycloak-login.png) + +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