diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 9971d876..8b47c287 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -33,6 +33,8 @@ jobs:
up \
--build \
-d
+ - name: set realm directory permission
+ run: sudo chown -R 1000:1000 dev/docker/realm
- name: Set up environment
run: |
diff --git a/dev/docker/docker-compose.yml b/dev/docker/docker-compose.yml
index 4bc3693f..5e7ea33f 100644
--- a/dev/docker/docker-compose.yml
+++ b/dev/docker/docker-compose.yml
@@ -83,14 +83,14 @@ services:
ports:
- "8080:8080"
volumes:
- - ./realm-data:/opt/keycloak/data
- command:
- - start-dev
+ - ./realm:/opt/keycloak/data
+ command: -v start-dev --import-realm
healthcheck:
- test: ["CMD-SHELL", "exec 3<>/dev/tcp/keycloak/8080 && echo -e 'GET /health/ready HTTP/1.1\\r\\nHost: keycloak\\r\\nConnection: close\\r\\n\\r\\n' >&3 && cat <&3 | grep -q '200 OK'"]
+ test: ["CMD-SHELL", "sleep 10 && exec 3<>/dev/tcp/keycloak/8080 && echo -e 'GET /health/ready HTTP/1.1\\r\\nHost: keycloak\\r\\nConnection: close\\r\\n\\r\\n' >&3 && cat <&3 | grep -q '200 OK'"]
interval: 10s
- timeout: 10s
+ timeout: 30s
retries: 3
+ start_period: 50s
networks:
- dbnetwork
diff --git a/dev/docker/realm-data/h2/keycloakdb.lock.db b/dev/docker/realm-data/h2/keycloakdb.lock.db
deleted file mode 100644
index 6febea40..00000000
--- a/dev/docker/realm-data/h2/keycloakdb.lock.db
+++ /dev/null
@@ -1,6 +0,0 @@
-#FileLock
-#Fri Feb 07 10:00:32 GMT 2025
-server=10.89.0.2\:46759
-hostName=0c360d5e7426
-method=file
-id=194dfda984607e8ecb6775499bd76f96a3529f5bda8
diff --git a/dev/docker/realm-data/h2/keycloakdb.mv.db b/dev/docker/realm-data/h2/keycloakdb.mv.db
deleted file mode 100644
index a75eb1e5..00000000
Binary files a/dev/docker/realm-data/h2/keycloakdb.mv.db and /dev/null differ
diff --git a/dev/docker/realm-data/h2/keycloakdb.trace.db b/dev/docker/realm-data/h2/keycloakdb.trace.db
deleted file mode 100644
index 8bcaacf0..00000000
--- a/dev/docker/realm-data/h2/keycloakdb.trace.db
+++ /dev/null
@@ -1,1157 +0,0 @@
-2025-02-05 15:18:27.164738Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MIGRATION_MODEL" not found (this database is empty); SQL statement:
-SELECT ID, VERSION FROM MIGRATION_MODEL ORDER BY UPDATE_TIME DESC [42104-224]
-2025-02-05 15:18:28.612064Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "DATABASECHANGELOG" not found (this database is empty); SQL statement:
-SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOG [42104-224]
-2025-02-05 15:18:28.785304Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "DATABASECHANGELOGLOCK" not found (this database is empty); SQL statement:
-SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOGLOCK [42104-224]
-2025-02-05 15:18:28.802325Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "DATABASECHANGELOG" not found; SQL statement:
-SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOG [42102-224]
-2025-02-05 17:22:21.287383Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-05 17:22:21.324841Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 08:21:44.492836Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 08:21:44.499580Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 09:28:05.103771Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:228)
- at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
- at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:108)
- at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:33)
- at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
- at picocli.CommandLine.access$1500(CommandLine.java:148)
- at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
- at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
- at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
- at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
- at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
- at picocli.CommandLine.execute(CommandLine.java:2170)
- at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:125)
- at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:98)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
- at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.base/java.lang.reflect.Method.invoke(Method.java:568)
- at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
- at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
-2025-02-06 09:28:05.219370Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:228)
- at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
- at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:108)
- at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:33)
- at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
- at picocli.CommandLine.access$1500(CommandLine.java:148)
- at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
- at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
- at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
- at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
- at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
- at picocli.CommandLine.execute(CommandLine.java:2170)
- at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:125)
- at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:98)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
- at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.base/java.lang.reflect.Method.invoke(Method.java:568)
- at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
- at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
-2025-02-06 09:37:43.991839Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 09:37:44.025077Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 10:45:32.311581Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 10:45:32.334120Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 12:02:44.440749Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 12:09:06.160666Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 12:09:06.356149Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 12:11:27.880727Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 12:11:27.911405Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 12:30:15.688448Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 12:34:24.200708Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 12:34:24.215293Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 15:14:36.892984Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:228)
- at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
- at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:108)
- at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:33)
- at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
- at picocli.CommandLine.access$1500(CommandLine.java:148)
- at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
- at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
- at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
- at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
- at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
- at picocli.CommandLine.execute(CommandLine.java:2170)
- at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:125)
- at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:98)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
- at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.base/java.lang.reflect.Method.invoke(Method.java:568)
- at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
- at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
-2025-02-06 15:32:26.395784Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 15:36:10.380987Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-06 15:36:10.411490Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 01:35:43.870844Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 01:47:21.297859Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 01:47:21.445900Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 08:36:08.491955Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 08:36:08.507001Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 09:38:39.993300Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 09:48:07.150673Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 09:48:07.273110Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 09:50:28.931860Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 09:50:28.954310Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 09:59:11.456721Z jdbc[3]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
-2025-02-07 09:59:11.490577Z jdbc[4]: exception
-org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
- at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
- at org.h2.message.DbException.get(DbException.java:223)
- at org.h2.message.DbException.get(DbException.java:199)
- at org.h2.message.DbException.get(DbException.java:188)
- at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1425)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.checkClosed(JdbcXAConnection.java:485)
- at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511)
- at org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection.close(JdbcXAConnection.java:455)
- at org.h2.jdbcx.JdbcXAConnection.close(JdbcXAConnection.java:76)
- at io.agroal.pool.ConnectionHandler.closeConnection(ConnectionHandler.java:178)
- at io.agroal.pool.ConnectionPool$DestroyConnectionTask.run(ConnectionPool.java:799)
- at io.agroal.pool.ConnectionPool.close(ConnectionPool.java:200)
- at io.agroal.pool.DataSource.close(DataSource.java:79)
- at io.quarkus.agroal.runtime.DataSources.stop(DataSources.java:449)
- at io.quarkus.agroal.runtime.DataSources_Bean.doDestroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.agroal.runtime.DataSources_Bean.destroy(Unknown Source)
- at io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:78)
- at io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:26)
- at io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:102)
- at io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:465)
- at io.quarkus.arc.Arc.shutdown(Arc.java:65)
- at io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
- at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
- at io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
- at io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
- at io.quarkus.runtime.Application.stop(Application.java:208)
- at io.quarkus.runtime.Application.stop(Application.java:155)
- at io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:437)
diff --git a/dev/docker/realm/import/master-realm.json b/dev/docker/realm/import/master-realm.json
new file mode 100644
index 00000000..e93cf90f
--- /dev/null
+++ b/dev/docker/realm/import/master-realm.json
@@ -0,0 +1,1979 @@
+{
+ "id" : "d2d4a0d1-fb92-4ccb-843c-e2242900a961",
+ "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,
+ "maxFailureWaitSeconds" : 900,
+ "minimumQuickLoginWaitSeconds" : 60,
+ "waitIncrementSeconds" : 60,
+ "quickLoginCheckMilliSeconds" : 1000,
+ "maxDeltaTimeSeconds" : 43200,
+ "failureFactor" : 30,
+ "roles" : {
+ "realm" : [ {
+ "id" : "236d5f43-e5a7-412a-b701-592452815b0f",
+ "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" : "d2d4a0d1-fb92-4ccb-843c-e2242900a961",
+ "attributes" : { }
+ }, {
+ "id" : "677525ec-1a47-4608-9288-8b67af7d165f",
+ "name" : "admin",
+ "description" : "${role_admin}",
+ "composite" : true,
+ "composites" : {
+ "realm" : [ "create-realm" ],
+ "client" : {
+ "master-realm" : [ "manage-users", "manage-identity-providers", "view-realm", "view-identity-providers", "impersonation", "manage-realm", "manage-authorization", "view-authorization", "query-clients", "query-users", "view-clients", "view-users", "view-events", "query-realms", "manage-events", "create-client", "manage-clients", "query-groups" ],
+ "realm1-realm" : [ "view-identity-providers", "create-client", "view-users", "manage-users", "manage-clients", "view-authorization", "query-groups", "manage-authorization", "view-events", "manage-events", "manage-realm", "view-realm", "query-clients", "view-clients", "impersonation", "query-users", "manage-identity-providers", "query-realms" ]
+ }
+ },
+ "clientRole" : false,
+ "containerId" : "d2d4a0d1-fb92-4ccb-843c-e2242900a961",
+ "attributes" : { }
+ }, {
+ "id" : "0c80a1f8-624c-482c-8c31-c1af3d8a784b",
+ "name" : "offline_access",
+ "description" : "${role_offline-access}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "d2d4a0d1-fb92-4ccb-843c-e2242900a961",
+ "attributes" : { }
+ }, {
+ "id" : "04905e43-cb19-47e8-b8f8-416ca171e1ea",
+ "name" : "uma_authorization",
+ "description" : "${role_uma_authorization}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "d2d4a0d1-fb92-4ccb-843c-e2242900a961",
+ "attributes" : { }
+ }, {
+ "id" : "4d038e56-6b11-4d8a-9add-2b125cb06d6c",
+ "name" : "create-realm",
+ "description" : "${role_create-realm}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "d2d4a0d1-fb92-4ccb-843c-e2242900a961",
+ "attributes" : { }
+ } ],
+ "client" : {
+ "security-admin-console" : [ ],
+ "admin-cli" : [ ],
+ "account-console" : [ ],
+ "broker" : [ {
+ "id" : "0eb8ab97-3e25-4cc8-9216-b6859b2de660",
+ "name" : "read-token",
+ "description" : "${role_read-token}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "a5deb2c9-8a77-4fda-bdf1-07ea4489b9e3",
+ "attributes" : { }
+ } ],
+ "master-realm" : [ {
+ "id" : "12143813-a757-48e6-850e-226194c297f3",
+ "name" : "view-clients",
+ "description" : "${role_view-clients}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "master-realm" : [ "query-clients" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "d94176a3-3c2d-43b2-afb9-42fd7bb8330c",
+ "name" : "view-users",
+ "description" : "${role_view-users}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "master-realm" : [ "query-users", "query-groups" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "234ad19d-c5ba-41ae-ba60-cd46e61b3b5e",
+ "name" : "view-events",
+ "description" : "${role_view-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "8645555c-4af5-453a-ad6d-94db600ee5f7",
+ "name" : "manage-identity-providers",
+ "description" : "${role_manage-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "6e35908e-16f7-431d-828e-43ea2cc0bc1e",
+ "name" : "manage-users",
+ "description" : "${role_manage-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "e87bda85-1676-4e6c-81de-72e6743252c0",
+ "name" : "view-identity-providers",
+ "description" : "${role_view-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "5517e3d5-9f13-4731-be7c-aa4dd11b67ae",
+ "name" : "view-realm",
+ "description" : "${role_view-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "9a9e9b5f-f7b1-41ef-b860-d1f7c9430c52",
+ "name" : "query-realms",
+ "description" : "${role_query-realms}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "56809fc8-98c5-4315-9223-be516d247759",
+ "name" : "manage-events",
+ "description" : "${role_manage-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "6999dfc8-97d1-4eb1-9de4-06e408240a9e",
+ "name" : "impersonation",
+ "description" : "${role_impersonation}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "7b06125d-d0cd-4aa3-ba20-df5a6d42b22a",
+ "name" : "manage-realm",
+ "description" : "${role_manage-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "7debba28-a96e-4013-a9fc-68b97b1e5598",
+ "name" : "manage-authorization",
+ "description" : "${role_manage-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "f13a1eac-2559-43b9-aef2-a63489a12614",
+ "name" : "view-authorization",
+ "description" : "${role_view-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "2ce2d326-33cd-45ba-81b6-d1dd23754998",
+ "name" : "create-client",
+ "description" : "${role_create-client}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "0bc4cc0d-84e8-49dc-8a12-a66b8ed4d75c",
+ "name" : "query-clients",
+ "description" : "${role_query-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "a96ff158-f2a1-4f96-ad10-e3c4c94c1769",
+ "name" : "manage-clients",
+ "description" : "${role_manage-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "52a6bf36-4b9c-411a-9ec0-e3a1a43b8225",
+ "name" : "query-users",
+ "description" : "${role_query-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ }, {
+ "id" : "7565061b-8dcf-49c4-a1f1-cf101b41d8a0",
+ "name" : "query-groups",
+ "description" : "${role_query-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "attributes" : { }
+ } ],
+ "account" : [ {
+ "id" : "934d1363-a701-4f4c-9aa7-b7c302ea5ff7",
+ "name" : "view-groups",
+ "description" : "${role_view-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "attributes" : { }
+ }, {
+ "id" : "9e601e10-d76f-49a4-8a14-ee0f52cca036",
+ "name" : "view-consent",
+ "description" : "${role_view-consent}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "attributes" : { }
+ }, {
+ "id" : "26891966-83ac-447d-830d-ed64cdf7bc5f",
+ "name" : "manage-consent",
+ "description" : "${role_manage-consent}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "account" : [ "view-consent" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "attributes" : { }
+ }, {
+ "id" : "40a0df72-3a8f-4746-bf81-db0ed78b8952",
+ "name" : "manage-account-links",
+ "description" : "${role_manage-account-links}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "attributes" : { }
+ }, {
+ "id" : "972150ad-c5e2-4978-ab75-5378ee8e406c",
+ "name" : "view-profile",
+ "description" : "${role_view-profile}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "attributes" : { }
+ }, {
+ "id" : "356fee5a-f985-4cc8-a2a8-e0e2cdf9d34f",
+ "name" : "view-applications",
+ "description" : "${role_view-applications}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "attributes" : { }
+ }, {
+ "id" : "3beaba64-3ed3-44d4-bc89-81a39491563b",
+ "name" : "delete-account",
+ "description" : "${role_delete-account}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "attributes" : { }
+ }, {
+ "id" : "6768bab4-c5dd-44de-925e-724c9264733b",
+ "name" : "manage-account",
+ "description" : "${role_manage-account}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "account" : [ "manage-account-links" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "attributes" : { }
+ } ],
+ "realm1-realm" : [ {
+ "id" : "19bc0e38-5c7e-4f0b-b232-d41427374bbf",
+ "name" : "view-identity-providers",
+ "description" : "${role_view-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "727bf481-afc6-46b9-b534-8a793a5fac99",
+ "name" : "manage-events",
+ "description" : "${role_manage-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "ba601c58-5c7c-4123-adc0-f747c654a2da",
+ "name" : "create-client",
+ "description" : "${role_create-client}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "63712e12-63bb-4f61-920d-e1f68b5d9790",
+ "name" : "manage-realm",
+ "description" : "${role_manage-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "337ccfd3-bde6-47a6-a5dd-8d7e490320c0",
+ "name" : "view-users",
+ "description" : "${role_view-users}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "realm1-realm" : [ "query-groups", "query-users" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "2a52e382-c679-42b7-afad-a56a25e32246",
+ "name" : "manage-users",
+ "description" : "${role_manage-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "bc33eaca-35fa-4d93-91ad-a1ea54207bc7",
+ "name" : "view-realm",
+ "description" : "${role_view-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "3a396c80-e6ec-4305-b8c1-a28b3fcaf84b",
+ "name" : "manage-clients",
+ "description" : "${role_manage-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "05877e37-7624-4798-953b-4824b559d917",
+ "name" : "query-clients",
+ "description" : "${role_query-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "9cead86e-0195-40f8-a9ce-45f8984915ea",
+ "name" : "view-authorization",
+ "description" : "${role_view-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "a315323c-091a-4e53-a111-87bcf159f1ae",
+ "name" : "query-groups",
+ "description" : "${role_query-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "537ccdac-cae5-49e5-b724-fb6f8ae660d0",
+ "name" : "view-clients",
+ "description" : "${role_view-clients}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "realm1-realm" : [ "query-clients" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "fba060b8-8e61-40fd-8ea4-7aa80fa95c49",
+ "name" : "impersonation",
+ "description" : "${role_impersonation}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "ce8c93ae-6c2d-4a57-a6e0-fa1231a77140",
+ "name" : "query-users",
+ "description" : "${role_query-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "c8a1399c-81f1-43cb-b6b7-967a3c3c7ad5",
+ "name" : "manage-authorization",
+ "description" : "${role_manage-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "5e03fbb1-94f4-4929-a952-c412d927068d",
+ "name" : "manage-identity-providers",
+ "description" : "${role_manage-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "8950a5a3-cd7a-4186-af26-2e7f9d4e1f4b",
+ "name" : "query-realms",
+ "description" : "${role_query-realms}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ }, {
+ "id" : "58c61333-5693-4947-a013-a7a502ea7c2a",
+ "name" : "view-events",
+ "description" : "${role_view-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "attributes" : { }
+ } ]
+ }
+ },
+ "groups" : [ ],
+ "defaultRole" : {
+ "id" : "236d5f43-e5a7-412a-b701-592452815b0f",
+ "name" : "default-roles-master",
+ "description" : "${role_default-roles}",
+ "composite" : true,
+ "clientRole" : false,
+ "containerId" : "d2d4a0d1-fb92-4ccb-843c-e2242900a961"
+ },
+ "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" : [ ],
+ "scopeMappings" : [ {
+ "clientScope" : "offline_access",
+ "roles" : [ "offline_access" ]
+ } ],
+ "clientScopeMappings" : {
+ "account" : [ {
+ "client" : "account-console",
+ "roles" : [ "manage-account", "view-groups" ]
+ } ]
+ },
+ "clients" : [ {
+ "id" : "895c400e-9c75-4fd8-a2b1-131b7c0db4de",
+ "clientId" : "account",
+ "name" : "${client_account}",
+ "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" : {
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "1977bd13-29b5-43d8-9d64-a3bc17bdd182",
+ "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" : {
+ "post.logout.redirect.uris" : "+",
+ "pkce.code.challenge.method" : "S256"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "protocolMappers" : [ {
+ "id" : "4478190a-5407-40d4-abbf-8c020b36f261",
+ "name" : "audience resolve",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-audience-resolve-mapper",
+ "consentRequired" : false,
+ "config" : { }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "910c69bd-28cf-4394-8976-4ed783f6451e",
+ "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" : { },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "a5deb2c9-8a77-4fda-bdf1-07ea4489b9e3",
+ "clientId" : "broker",
+ "name" : "${client_broker}",
+ "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" : { },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "e0613566-7cbe-4ac1-bd40-6c5b90efbd38",
+ "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,
+ "attributes" : { },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "102d03db-c999-416f-8566-d9d6b03a069a",
+ "clientId" : "realm1-realm",
+ "name" : "realm1 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,
+ "attributes" : { },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ ],
+ "optionalClientScopes" : [ ]
+ }, {
+ "id" : "2f97ed1f-373e-4678-9b2b-e34394629d3b",
+ "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" : {
+ "post.logout.redirect.uris" : "+",
+ "pkce.code.challenge.method" : "S256"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "protocolMappers" : [ {
+ "id" : "681ec939-1fea-42b5-854c-8bc9ea8e4acf",
+ "name" : "locale",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "locale",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "locale",
+ "jsonType.label" : "String"
+ }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ } ],
+ "clientScopes" : [ {
+ "id" : "87889ad6-0383-426c-ae38-8d600fa1a5f7",
+ "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" : "b87f9d0b-9429-4eb1-b869-7018bc98efef",
+ "name" : "family name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "lastName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "family_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "ffa585ba-1527-41f5-aec7-583f2d83efa3",
+ "name" : "middle name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "middleName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "middle_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "00f9f3c1-698f-4098-9e79-dfdbdac85f51",
+ "name" : "profile",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "profile",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "profile",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "0d02b1c3-95e8-4436-8c0b-a465e2a6e8de",
+ "name" : "nickname",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "nickname",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "nickname",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "f6e3138e-6957-40ac-9827-2804b3ebf1c0",
+ "name" : "given name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "firstName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "given_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "e6828fa9-8287-44e8-8b76-79f89bbad6d0",
+ "name" : "full name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-full-name-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "id.token.claim" : "true",
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true",
+ "userinfo.token.claim" : "true"
+ }
+ }, {
+ "id" : "166fd074-c840-47a9-9eda-f4b0fb1c9b3f",
+ "name" : "website",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "website",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "website",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "d79f7672-9670-4c88-9501-2ae98ab965c1",
+ "name" : "updated at",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "updatedAt",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "updated_at",
+ "jsonType.label" : "long"
+ }
+ }, {
+ "id" : "2750ab85-b866-4cb9-973c-ca364457dd94",
+ "name" : "birthdate",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "birthdate",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "birthdate",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "fe774fa3-fca1-4e9b-b298-d39ffeff3e5d",
+ "name" : "username",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "username",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "preferred_username",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "b2625281-83f6-4a2e-8ebb-995e661f643a",
+ "name" : "picture",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "picture",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "picture",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "92d3c3d4-42b3-4b47-b761-98b33e4d65d7",
+ "name" : "gender",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "gender",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "gender",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "89d1b9f7-e0ee-4eaa-a30f-35c97a507254",
+ "name" : "zoneinfo",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "zoneinfo",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "zoneinfo",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "af54bf45-3a84-4c1f-b74f-efc423f6d092",
+ "name" : "locale",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "locale",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "locale",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "758a4d63-c299-4cda-b564-85e4f7af7aeb",
+ "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" : "9c7f49a4-ef81-45dc-94a9-fd1cdb8ee5d7",
+ "name" : "acr loa level",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-acr-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "id.token.claim" : "true",
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true"
+ }
+ } ]
+ }, {
+ "id" : "556fca24-8efd-4052-a3c4-0499a4577808",
+ "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" : "ce43c3d3-f5e9-466a-8e43-c613f4b50d4a",
+ "name" : "email verified",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "emailVerified",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "email_verified",
+ "jsonType.label" : "boolean"
+ }
+ }, {
+ "id" : "28cd6e00-8bf9-4090-8a46-9a8b506ddeb7",
+ "name" : "email",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "email",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "email",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "21adbfb9-ef98-4343-8407-da5ea2df65be",
+ "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" : "bea336f4-4791-4600-9340-5fe19c227dd2",
+ "name" : "address",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-address-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.attribute.formatted" : "formatted",
+ "user.attribute.country" : "country",
+ "introspection.token.claim" : "true",
+ "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" : "a9fcff0d-2b46-4f4d-8966-c30bc7834616",
+ "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" : "705a2bdd-089b-42c2-9a48-254e82fa0c0d",
+ "name" : "upn",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "username",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "upn",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "46c4b5a9-9a3e-49f0-a040-e35c8774b068",
+ "name" : "groups",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "multivalued" : "true",
+ "user.attribute" : "foo",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "groups",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "6d563d5a-0f4d-4382-9053-e2034b99983a",
+ "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" : "9809c976-882f-480e-8313-c9d43eaccd88",
+ "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" : "4928c3b1-b859-47ab-b153-e6af1174765c",
+ "name" : "phone number",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "phoneNumber",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "phone_number",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "61ef3467-6db1-4e5c-9dcf-14e9d8814e9f",
+ "name" : "phone number verified",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "phoneNumberVerified",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "phone_number_verified",
+ "jsonType.label" : "boolean"
+ }
+ } ]
+ }, {
+ "id" : "5fd02daa-1781-4658-9e4d-67f5f418facb",
+ "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" : "e18237bd-0f0f-45b8-b0c8-132e2737aa27",
+ "name" : "client roles",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-client-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "multivalued" : "true",
+ "user.attribute" : "foo",
+ "access.token.claim" : "true",
+ "claim.name" : "resource_access.${client_id}.roles",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "e34049a3-cdfa-45ad-8a95-c56da85ef852",
+ "name" : "audience resolve",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-audience-resolve-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true"
+ }
+ }, {
+ "id" : "22bf5b91-a6a8-4a8a-9781-2e993903bc43",
+ "name" : "realm roles",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "multivalued" : "true",
+ "user.attribute" : "foo",
+ "access.token.claim" : "true",
+ "claim.name" : "realm_access.roles",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "2b66a1fd-c857-4615-b459-4e7b798b36b2",
+ "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" : "09829da9-c5df-4316-bb24-0b96a117938a",
+ "name" : "allowed web origins",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-allowed-origins-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true"
+ }
+ } ]
+ }, {
+ "id" : "06afbed6-9f7d-48f1-87ea-b48268262ddc",
+ "name" : "role_list",
+ "description" : "SAML role list",
+ "protocol" : "saml",
+ "attributes" : {
+ "consent.screen.text" : "${samlRoleListScopeConsentText}",
+ "display.on.consent.screen" : "true"
+ },
+ "protocolMappers" : [ {
+ "id" : "c2b336f5-0ad2-42cb-aad2-b4f9f5118767",
+ "name" : "role list",
+ "protocol" : "saml",
+ "protocolMapper" : "saml-role-list-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "single" : "false",
+ "attribute.nameformat" : "Basic",
+ "attribute.name" : "Role"
+ }
+ } ]
+ } ],
+ "defaultDefaultClientScopes" : [ "role_list", "profile", "email", "roles", "web-origins", "acr" ],
+ "defaultOptionalClientScopes" : [ "offline_access", "address", "phone", "microprofile-jwt" ],
+ "browserSecurityHeaders" : {
+ "contentSecurityPolicyReportOnly" : "",
+ "xContentTypeOptions" : "nosniff",
+ "referrerPolicy" : "no-referrer",
+ "xRobotsTag" : "none",
+ "xFrameOptions" : "SAMEORIGIN",
+ "xXSSProtection" : "1; mode=block",
+ "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
+ "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" : "efe787d4-3f78-4c2f-8a8d-3cf3c2f6ecf3",
+ "name" : "Allowed Protocol Mapper Types",
+ "providerId" : "allowed-protocol-mappers",
+ "subType" : "authenticated",
+ "subComponents" : { },
+ "config" : {
+ "allowed-protocol-mapper-types" : [ "saml-user-attribute-mapper", "saml-user-property-mapper", "saml-role-list-mapper", "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper" ]
+ }
+ }, {
+ "id" : "f9358d16-8521-4b9a-b122-3550609868d6",
+ "name" : "Allowed Client Scopes",
+ "providerId" : "allowed-client-templates",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "allow-default-scopes" : [ "true" ]
+ }
+ }, {
+ "id" : "572be930-6142-4067-8845-19a23d947812",
+ "name" : "Full Scope Disabled",
+ "providerId" : "scope",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : { }
+ }, {
+ "id" : "09710e16-41f0-40e8-8452-1fbacde76a4c",
+ "name" : "Allowed Protocol Mapper Types",
+ "providerId" : "allowed-protocol-mappers",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "allowed-protocol-mapper-types" : [ "oidc-sha256-pairwise-sub-mapper", "oidc-full-name-mapper", "saml-user-attribute-mapper", "oidc-address-mapper", "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper", "saml-role-list-mapper" ]
+ }
+ }, {
+ "id" : "ddd7b8ab-ab39-4bf2-81d6-40c7c60b2f9a",
+ "name" : "Allowed Client Scopes",
+ "providerId" : "allowed-client-templates",
+ "subType" : "authenticated",
+ "subComponents" : { },
+ "config" : {
+ "allow-default-scopes" : [ "true" ]
+ }
+ }, {
+ "id" : "f88413e2-21ed-40b1-8347-994c8f515146",
+ "name" : "Trusted Hosts",
+ "providerId" : "trusted-hosts",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "host-sending-registration-request-must-match" : [ "true" ],
+ "client-uris-must-match" : [ "true" ]
+ }
+ }, {
+ "id" : "b55c59fd-9807-4cc5-adbf-ea2fd8e21abb",
+ "name" : "Consent Required",
+ "providerId" : "consent-required",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : { }
+ }, {
+ "id" : "cf1230aa-8b77-43c5-aefc-4c2562ab8a75",
+ "name" : "Max Clients Limit",
+ "providerId" : "max-clients",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "max-clients" : [ "200" ]
+ }
+ } ],
+ "org.keycloak.userprofile.UserProfileProvider" : [ {
+ "id" : "9bc21643-269b-4c32-8485-618b1d208e65",
+ "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}},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"firstName\",\"displayName\":\"${firstName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"lastName\",\"displayName\":\"${lastName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false}],\"groups\":[{\"name\":\"user-metadata\",\"displayHeader\":\"User metadata\",\"displayDescription\":\"Attributes, which refer to user metadata\"}]}" ]
+ }
+ } ],
+ "org.keycloak.keys.KeyProvider" : [ {
+ "id" : "3e9f48c4-58cd-41fa-81f2-7164c04723f4",
+ "name" : "rsa-enc-generated",
+ "providerId" : "rsa-enc-generated",
+ "subComponents" : { },
+ "config" : {
+ "privateKey" : [ "MIIEowIBAAKCAQEAv5kFbexjTljOdlwwWMxaQG7g10kPwYaaG0QWivdTeQpIbW58dcvCzp7PrsGQRH83Z+7IxWRfLXpj5EwATo1JcMGQMyllvEN8WZDUzU8KyhNdOv4Lgd2hpGBz06xOYAKWu6NpQKuCBfZay0ViMxty59ikq5K/OCbCJV5R6MZIqjqgvxivhU62ZRrfRKo293gvkobGawW8M4cIB08x/1pXqWJa9byxi/HIXN8BPT1tlrOL0cqWAyVTEg/d4f6omPBClFa0jPoyIYVV57YM1vHKnZcERy786AHQQN2slr93oFYTkl6fgU+lBFhVSkbDE9Vdi+M2m5HXmBm65esMPCMS2wIDAQABAoIBAA7RmjARJJx2gEAloN76reT7jmv9lyM2iBchcjA9BoQ/QtslPKlsYTyo332aiVAlmhacSy6qijVSw4TF9LoenGEFCjmiyInB8HgJnHk6qqYheZ2qm3TnvEJMls4hhA2nSvA9UyfbfAV+Xdxd7pqZqLlSMhOhGHq9KK6fjRdDYB27o7n7jHxYXZgfix7SkF82yG/gjsdvcxKVEtZORPVlu+2lat+JGbhZIYUdoF4FwXo/ncyXfx4K3S2MNYChBpxIZPM32KtOTOfWoLiCw5fARmtUgv7OsFftnn+G5JCtML0k4GjJPaFA7iBffrm9R1PK3lvnYbxcT3hsG3QxdlfRlAkCgYEA8Pe9USoNU6urbsIbo6qeti1ajn0zZQ4G/3wc6oqfN6Y+mxpL/VcIXWJ0L82+oKtOERxlIfVoE7MFvO3dC0z1M+x9uCd1KEMNvnvcVaySeuHEj+gipNiQARygLzInYcYIWPy6n3xwBBjPq6jUM7HxXzuM9lRpjI2MGEsM4tHvqLMCgYEAy4zXeiOw3pROsRQgojXWN6nkoOlsswNRYSblpm4a6FqLvNia2qKMWCcZHoGyMGNqhwNGxypm0H4bDb6phwI1u2Jwa+21CoBxSKkdCp2JxNcj5NIdKbDrIA0ZAyjb/kRZawGR7pqGP+1hKbcyr2HHmiQKYKXNB/4s+bO2Qt8y8TkCgYEAuIC4UGEmex5C0TeG+jY197+aSufKZmHrMcvSSDOD3ZRI83GbJYtyOC6eT8v1XghMagWX2fyRiCPXDOYEDhcK2IsHZ+2uYvmUmHk2J9NPBQ/A9X8Ep7u552AHtptsVAzRb3FzY5JgIoLs378RW9OvwP9T23ieqKPo1OECKNod6skCgYB8mthhna2tY86UWkTr59ceNjOOSbbQEyzjM0OMUYTJTnySe2q4gp81a6HV6gFh28ofomLWk19jLH91N41h53lrH4TAnUChkCVJHLV5hR0MUcNYVUOi/PnCoiH4rC+YBNFUTx69mPyr7632Mn6lnE7rTjrIFVdhGDkCFwBxCV+PCQKBgFEbpemE0LBrp+iXkIw791c6Qcpn66VbMmE9RS1uwk1hbszw81gKRoqtgFKMWbiD2Q7undudXsWQwyojy4gmuNudPj3TeLF2H5eC781sCLMDjAZ8/mCI+33/sTylvCMbxa5uCFMf1jWWKNQOAnzqXFLgDuKyM0MrqemSvO6bnAu0" ],
+ "keyUse" : [ "ENC" ],
+ "certificate" : [ "MIICmzCCAYMCBgGU1rEChDANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZtYXN0ZXIwHhcNMjUwMjA1MTUxNjUyWhcNMzUwMjA1MTUxODMyWjARMQ8wDQYDVQQDDAZtYXN0ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/mQVt7GNOWM52XDBYzFpAbuDXSQ/BhpobRBaK91N5Ckhtbnx1y8LOns+uwZBEfzdn7sjFZF8temPkTABOjUlwwZAzKWW8Q3xZkNTNTwrKE106/guB3aGkYHPTrE5gApa7o2lAq4IF9lrLRWIzG3Ln2KSrkr84JsIlXlHoxkiqOqC/GK+FTrZlGt9Eqjb3eC+ShsZrBbwzhwgHTzH/WlepYlr1vLGL8chc3wE9PW2Ws4vRypYDJVMSD93h/qiY8EKUVrSM+jIhhVXntgzW8cqdlwRHLvzoAdBA3ayWv3egVhOSXp+BT6UEWFVKRsMT1V2L4zabkdeYGbrl6ww8IxLbAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJGL8HTMlpb7APUmeXykIxZA6CmtqeT6FIQnEsjzUQLh3DuMJVJnj+1VdkwdZ4ofIBsfSPsACtIrxqL7/u1nyWhkReCNTq1Kbq3Nur0NufU6oKGqA4PQvdaIrHyjpouMwHTzij1YqzfVCVdPWG8tXByn6uhPr7zBG3P3+LiQat4qYQTtb8wWAU2gg40DodxWQ5Yis4l+yOhkbvU1DWT40B9lPfUE4gQklUMnng/CZnLRQSDuC2KfQoa+HgxGgusjmcPBaYSRs5ZKRjvH6Jp/emivcKS6oez1sr1ez0L2CdJZzttffvjyezWB6Ij6n0ce7m6w5pKql8lJNWRlsMondMo=" ],
+ "priority" : [ "100" ],
+ "algorithm" : [ "RSA-OAEP" ]
+ }
+ }, {
+ "id" : "ede70958-4fe4-4c7a-84ec-2de6b0498711",
+ "name" : "aes-generated",
+ "providerId" : "aes-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "69b3a61f-17e6-4b40-8ab1-a381d0ea17d8" ],
+ "secret" : [ "R-xXQoLk95Y1BEg8sxKW4g" ],
+ "priority" : [ "100" ]
+ }
+ }, {
+ "id" : "5a8a80e9-064f-450b-8d25-9fe8ab6bd868",
+ "name" : "rsa-generated",
+ "providerId" : "rsa-generated",
+ "subComponents" : { },
+ "config" : {
+ "privateKey" : [ "MIIEowIBAAKCAQEAvPbh0oE71HwjAPa5KCL4ALhj8STPideVepqK2Xc3R14DkuS2gwersgyUY8TD+jNl6Hp1FVRUYggDb8JJPJSAvt4mhJikWa3VMD8DsTHHGDuBSo1sAWeaG2DAFNCtcBjYJsid9wneeShBnIgwIKWX6LwBkUU2CDqjrR0LWeWJ+5tYRTfdf0bwP3HczFyQUHpwV+AaLG4LvT/liVyubqhcLTHA74M652WRo4hQZpB0cijEXB+ZU1T5s0fcIcwkp1oHpWo7Rn4AvGm5jkbRqciSn72bg3UK7xDVmvgFIvdBwVdFT/9ch4CYIxbdgx658Ty+Xo+8vxzhy83HX26u2Ur0rQIDAQABAoIBACFOhMRFWiXcUZEoa79q1nrOBXOqMNiTgrnvBn1JOZmfNRMNtCvJTNafyAID2yU9LP+6oeuGBy+WSQDIZn9Cj6TU5EYn34QdE0AjQ0PWych4KJRa9AgVWkDsHz8r/v4MqwC/CLTT7P4+/b2Y9Z6zgWCYzs/rupfduh7XyTnprxYFX7yyDn0rOpmNcXL4NL56kKl7XdhlYZWD+5cyLks4dKegNykKl9QNkQIJyO8yFpkWtEGy5Ej0E5JJKRLhHZ/ptEB62FNMgrQfSB9z2tNbPMlGA2e4CBzeqXvElgojPOLyvuT6seQPjOUhSA+gpn7NSUkRuFWxyTONChwa0HRLX/MCgYEA/r08GFA6Vc0TwLsw8zlu+Sfs7PB3FMu7EqClNIVYlph04AL7df9SSLO/7pZ9bJ4o6IZ8FLYwE9dKFEXQVo+loMc8QgL0nZSVBw5mArBGVtKJCY21fwIKJnmRTMLs5b5YC67uk16zejJLY+Fnrh690t9LqC3s5Hj0rghnRf7PbwMCgYEAveZO0/MTNmzThZpH6MdpRcm6kZOFL/IG7rIdkzYHlURQ7x+0/is/4kJwaYDYlXhgaMYFyHQ5y7Ywhdmbrc1vDfC3M+lPKy73m4NCIAausp7yiR+XPQKxr7r60cz4Q5A1ObOlZ43N3D/iwG3UeV5DTZ70+f9LeOaERZUa90XQpo8CgYEA1rwURXaTxjIqnYPufomCp5tlWFJYP3qBxvEOcliZ1dDMbO12pgBFj62edHP9ZKtqVqDPRfJSUtdfxfkX53ANsZthi0/Mfm16tskHaurHUHcHN7tyLI8+mTJPLoL+iahLtgWPbUEeUDrHXHntGVUmtPSwZSPZlrrznyTMUa+7kpsCgYBAhJDfncQ3R34N9D7eLXHszf7fGtmzUm1ch5NYwpCM/CrrM0CQ4izQOHZswePT1JQcxLqOQj6ooXuW3jnwMM28VL5JmsjVCR4C7fN3Yg3UjgAk6mC9z76Cz+oLgbIPcl1C/3AA4MLCQ8pMSoRXv9jp9EmS7lO7/cWOxnvk6wlarQKBgF0sIxE6pt295VYTrsyHa+52ZI/nVM0dWu93ZBksM6rW2r1A3mZawaZnEYaYep4idzbBWWEDTD5nT2ZOxbTZ06iFZQRGxv+H0V7q7ipYIaFKbSHgiFz92hwN0nO0OGZEdNZqW7nl1cIm2G3GnI6wtv6lnEoObtVpWfj9Xl5d5HXh" ],
+ "keyUse" : [ "SIG" ],
+ "certificate" : [ "MIICmzCCAYMCBgGU1rEB1zANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZtYXN0ZXIwHhcNMjUwMjA1MTUxNjUyWhcNMzUwMjA1MTUxODMyWjARMQ8wDQYDVQQDDAZtYXN0ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC89uHSgTvUfCMA9rkoIvgAuGPxJM+J15V6morZdzdHXgOS5LaDB6uyDJRjxMP6M2XoenUVVFRiCANvwkk8lIC+3iaEmKRZrdUwPwOxMccYO4FKjWwBZ5obYMAU0K1wGNgmyJ33Cd55KEGciDAgpZfovAGRRTYIOqOtHQtZ5Yn7m1hFN91/RvA/cdzMXJBQenBX4Bosbgu9P+WJXK5uqFwtMcDvgzrnZZGjiFBmkHRyKMRcH5lTVPmzR9whzCSnWgelajtGfgC8abmORtGpyJKfvZuDdQrvENWa+AUi90HBV0VP/1yHgJgjFt2DHrnxPL5ej7y/HOHLzcdfbq7ZSvStAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAI8ycOQnL0i6J+uao17yUz34MvL9fzzhjne0zhOvrCuJsKJTfoh7up/2WjEoZKqCeADgQi8BGRoKCvQqVhfVAnpFJ3x14VU4V3folsS5KZDNFjsCqHTIhapPITzx0ujmqoP6NOlEe64pQEANdggcP0QJRZ0QX5QtG47Lbpu9O9iPL7C5j/wOzv0GyUwxz7j/cfLIvpLY13d1qIkw0RulbNGkrHGu8C+pPgPm4j6VtqTFq4zoaCHgwAtwuoWGk25VtEwStZzybcxOXNKfW7tjUidJuptNQEdyjnDQaGjRTCznrFaEyOqLsdmcjgcmnds7yNQSQhcYLamw7wbrV8CloZk=" ],
+ "priority" : [ "100" ]
+ }
+ }, {
+ "id" : "88d66b3f-c5d2-44ce-8ed5-d69a67e80075",
+ "name" : "hmac-generated-hs512",
+ "providerId" : "hmac-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "b1a5c8ad-9144-43ec-83be-05549690b4bb" ],
+ "secret" : [ "BDqJmp503LOSgpSh9IQTni_-AQm3vWrkOuZYc__kRRgZi6GiPnFdFkzqIE-v-YzMPd7BPo4EsA5idUgU-xN2TnicrsNh8sWF1kWmE_bqcSCQFgN_bWVTBJNFUUdwAK8BPFNJwABZSxE_iTqnnVf52pxsxn6_vnJSEffK5-yC7AM" ],
+ "priority" : [ "100" ],
+ "algorithm" : [ "HS512" ]
+ }
+ } ]
+ },
+ "internationalizationEnabled" : false,
+ "supportedLocales" : [ ],
+ "authenticationFlows" : [ {
+ "id" : "96dcd9a3-19cb-473d-a3a7-1967234cc61c",
+ "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" : "25588ed2-3d4d-4ace-adc1-c5bd3d4a6b4e",
+ "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" : "dd17b359-1ce1-4a7e-8a09-1dab2c4de303",
+ "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" : "c8d9e92b-a068-4ce0-a37f-01e252a3fcaf",
+ "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" : "ba63341f-e04c-452c-aeda-931c481fa451",
+ "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" : "44f917ee-6f90-41bf-a8e7-edf67507127d",
+ "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" : "41ad0815-e46f-4203-87f6-0c2d9894dede",
+ "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" : "c5d55a73-daa3-4b98-80a9-d6480ee97246",
+ "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" : "950db64b-6839-428c-9eeb-e613d80f43e1",
+ "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" : "5867e21e-cc91-46df-97b1-317333a4ee1e",
+ "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" : "e9f2d5a6-5cff-40e5-8336-9fd3488f6e96",
+ "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" : "e0745933-3b7a-4c14-9503-e2444fcebf88",
+ "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" : "9507d9b0-d030-4dff-bd77-e17f8900349d",
+ "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" : "0f532123-274d-488a-9b80-be9600e5582d",
+ "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" : "deb2a513-d611-4696-b051-a3d9a2b575ae",
+ "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" : "9161f121-e3cb-4998-986a-dd287b70d08c",
+ "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
+ }, {
+ "authenticator" : "registration-terms-and-conditions",
+ "authenticatorFlow" : false,
+ "requirement" : "DISABLED",
+ "priority" : 70,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "ee2ca259-06f1-4ecf-b5c6-515d24117e74",
+ "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" : "d29cc4bb-181a-4914-9073-eecdf7b37f21",
+ "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" : "51974dc3-991c-4423-88e9-49ce987242f5",
+ "alias" : "create unique user config",
+ "config" : {
+ "require.password.update.after.registration" : "false"
+ }
+ }, {
+ "id" : "6130c0a5-67ec-4558-9e37-822dcb7fb318",
+ "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" : "webauthn-register",
+ "name" : "Webauthn Register",
+ "providerId" : "webauthn-register",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 70,
+ "config" : { }
+ }, {
+ "alias" : "webauthn-register-passwordless",
+ "name" : "Webauthn Register Passwordless",
+ "providerId" : "webauthn-register-passwordless",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 80,
+ "config" : { }
+ }, {
+ "alias" : "VERIFY_PROFILE",
+ "name" : "Verify Profile",
+ "providerId" : "VERIFY_PROFILE",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 90,
+ "config" : { }
+ }, {
+ "alias" : "delete_credential",
+ "name" : "Delete Credential",
+ "providerId" : "delete_credential",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 100,
+ "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",
+ "parRequestUriLifespan" : "60",
+ "cibaInterval" : "5",
+ "realmReusableOtpCode" : "false"
+ },
+ "keycloakVersion" : "24.0.5",
+ "userManagedAccessAllowed" : false,
+ "clientProfiles" : {
+ "profiles" : [ ]
+ },
+ "clientPolicies" : {
+ "policies" : [ ]
+ }
+}
\ No newline at end of file
diff --git a/dev/docker/realm/import/master-users-0.json b/dev/docker/realm/import/master-users-0.json
new file mode 100644
index 00000000..44b17bbd
--- /dev/null
+++ b/dev/docker/realm/import/master-users-0.json
@@ -0,0 +1,26 @@
+{
+ "realm" : "master",
+ "users" : [ {
+ "id" : "65b94314-f884-4e7b-9c4c-52b1322e21d9",
+ "username" : "admin",
+ "emailVerified" : false,
+ "createdTimestamp" : 1738768712670,
+ "enabled" : true,
+ "totp" : false,
+ "credentials" : [ {
+ "id" : "7e1095ba-26b7-4881-9534-8c1054cf78e9",
+ "type" : "password",
+ "createdDate" : 1738768713043,
+ "secretData" : "{\"value\":\"xFRG8lXB3QEaLre3lP3T/CVU4x3J0ywh/f9Bx7YUhwhE0zxrcNw9/o+O/NNG13UFIRZhaBbCd2NcyhmlyYueHA==\",\"salt\":\"lVqxvMn3eVE9hbxNGGLvjQ==\",\"additionalParameters\":{}}",
+ "credentialData" : "{\"hashIterations\":210000,\"algorithm\":\"pbkdf2-sha512\",\"additionalParameters\":{}}"
+ } ],
+ "disableableCredentialTypes" : [ ],
+ "requiredActions" : [ ],
+ "realmRoles" : [ "default-roles-master", "admin" ],
+ "clientRoles" : {
+ "realm1-realm" : [ "view-identity-providers", "manage-events", "create-client", "view-users", "manage-realm", "view-realm", "manage-users", "view-authorization", "manage-clients", "query-clients", "query-groups", "view-clients", "query-users", "manage-authorization", "manage-identity-providers", "query-realms", "view-events" ]
+ },
+ "notBefore" : 0,
+ "groups" : [ ]
+ } ]
+}
\ No newline at end of file
diff --git a/dev/docker/realm/import/realm1-realm.json b/dev/docker/realm/import/realm1-realm.json
new file mode 100644
index 00000000..098d4f83
--- /dev/null
+++ b/dev/docker/realm/import/realm1-realm.json
@@ -0,0 +1,1874 @@
+{
+ "id" : "2a830e50-060a-429e-93d6-5bbf9bf10171",
+ "realm" : "realm1",
+ "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,
+ "maxFailureWaitSeconds" : 900,
+ "minimumQuickLoginWaitSeconds" : 60,
+ "waitIncrementSeconds" : 60,
+ "quickLoginCheckMilliSeconds" : 1000,
+ "maxDeltaTimeSeconds" : 43200,
+ "failureFactor" : 30,
+ "roles" : {
+ "realm" : [ {
+ "id" : "c16e8bec-7759-4edc-92ac-5f30e66f1c49",
+ "name" : "uma_authorization",
+ "description" : "${role_uma_authorization}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "2a830e50-060a-429e-93d6-5bbf9bf10171",
+ "attributes" : { }
+ }, {
+ "id" : "66b737fa-04f2-4d48-a1e9-6a5c747bb019",
+ "name" : "default-roles-realm1",
+ "description" : "${role_default-roles}",
+ "composite" : true,
+ "composites" : {
+ "realm" : [ "offline_access", "uma_authorization" ],
+ "client" : {
+ "account" : [ "view-profile", "manage-account" ]
+ }
+ },
+ "clientRole" : false,
+ "containerId" : "2a830e50-060a-429e-93d6-5bbf9bf10171",
+ "attributes" : { }
+ }, {
+ "id" : "2a9cb5fc-9820-4120-bd96-25d0f557b21a",
+ "name" : "offline_access",
+ "description" : "${role_offline-access}",
+ "composite" : false,
+ "clientRole" : false,
+ "containerId" : "2a830e50-060a-429e-93d6-5bbf9bf10171",
+ "attributes" : { }
+ } ],
+ "client" : {
+ "realm-management" : [ {
+ "id" : "d68a2988-5771-423f-bd02-1c59878ba2ba",
+ "name" : "realm-admin",
+ "description" : "${role_realm-admin}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "realm-management" : [ "manage-identity-providers", "manage-events", "manage-realm", "view-events", "view-authorization", "query-realms", "view-identity-providers", "query-clients", "impersonation", "view-clients", "create-client", "view-users", "manage-users", "view-realm", "manage-clients", "manage-authorization", "query-users", "query-groups" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "d46ad4fe-7f51-452d-b1fa-c93cc8d5146e",
+ "name" : "manage-identity-providers",
+ "description" : "${role_manage-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "db6c2a46-b522-4e2c-a47f-347ec9d446b9",
+ "name" : "manage-events",
+ "description" : "${role_manage-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "54569cbc-7c1f-4e70-b982-e9e2e2c18c9f",
+ "name" : "manage-realm",
+ "description" : "${role_manage-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "fe1e2220-5147-41ec-9d15-d9630ab06382",
+ "name" : "view-authorization",
+ "description" : "${role_view-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "ee2464af-ea47-4e9f-9b33-ce0ae34d73d1",
+ "name" : "view-events",
+ "description" : "${role_view-events}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "635f1087-bf3c-4ff2-9c32-a4d8c1970871",
+ "name" : "query-realms",
+ "description" : "${role_query-realms}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "3e3f8374-8d80-489f-a728-2a34145d6f88",
+ "name" : "view-identity-providers",
+ "description" : "${role_view-identity-providers}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "b85aa2bd-6c3c-4af2-baac-760cfc277cf3",
+ "name" : "query-clients",
+ "description" : "${role_query-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "62870216-48f1-4d89-9389-b28c31da9dc7",
+ "name" : "impersonation",
+ "description" : "${role_impersonation}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "b00d9567-edaf-447e-a6bb-4b5ea0e9912f",
+ "name" : "create-client",
+ "description" : "${role_create-client}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "46a5721b-ff77-418d-ac9b-7177e5355b1f",
+ "name" : "view-clients",
+ "description" : "${role_view-clients}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "realm-management" : [ "query-clients" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "f2f31436-9525-4c68-bfb9-9379ff0f7664",
+ "name" : "manage-users",
+ "description" : "${role_manage-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "1111c6aa-5248-4959-b4f9-9b53e5ac74a6",
+ "name" : "view-users",
+ "description" : "${role_view-users}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "realm-management" : [ "query-users", "query-groups" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "825f9131-651d-4942-858e-9127117e93e1",
+ "name" : "view-realm",
+ "description" : "${role_view-realm}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "a601f7dc-8aee-4017-8067-8b9738d1b584",
+ "name" : "manage-clients",
+ "description" : "${role_manage-clients}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "4c4cb454-1cfb-4c1a-9c34-b83c19e2d2b6",
+ "name" : "manage-authorization",
+ "description" : "${role_manage-authorization}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "96188354-c9e3-4252-b38c-2bae8ad15b08",
+ "name" : "query-users",
+ "description" : "${role_query-users}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ }, {
+ "id" : "ade24b8f-013c-4afc-bfb9-203197f55c07",
+ "name" : "query-groups",
+ "description" : "${role_query-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "attributes" : { }
+ } ],
+ "fair-mast-test" : [ {
+ "id" : "6508aca6-867b-4d4d-be03-ed6d9e6e5b05",
+ "name" : "fair-mast-admins",
+ "description" : "",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "db83bf43-8c71-4c3b-80a9-0be1ed4e6b0b",
+ "attributes" : { }
+ } ],
+ "security-admin-console" : [ ],
+ "admin-cli" : [ ],
+ "account-console" : [ ],
+ "broker" : [ {
+ "id" : "00f8dc89-e50b-472c-9a47-3ead7240077b",
+ "name" : "read-token",
+ "description" : "${role_read-token}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "ff0bc3fd-6cee-4960-8c07-951146f8d389",
+ "attributes" : { }
+ } ],
+ "account" : [ {
+ "id" : "f08a4f17-2f53-4c65-9f1f-c7896234ad24",
+ "name" : "view-profile",
+ "description" : "${role_view-profile}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "attributes" : { }
+ }, {
+ "id" : "de7b53a6-2272-4ad6-85e4-d6867fe6f2e1",
+ "name" : "manage-account-links",
+ "description" : "${role_manage-account-links}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "attributes" : { }
+ }, {
+ "id" : "0ffc1123-2ae1-4d22-ab2c-c6ebeb35c694",
+ "name" : "view-groups",
+ "description" : "${role_view-groups}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "attributes" : { }
+ }, {
+ "id" : "77f26f23-fdad-429e-9514-8e803133afc7",
+ "name" : "view-applications",
+ "description" : "${role_view-applications}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "attributes" : { }
+ }, {
+ "id" : "1f92afeb-de5f-4604-bda8-82c8f107438f",
+ "name" : "delete-account",
+ "description" : "${role_delete-account}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "attributes" : { }
+ }, {
+ "id" : "c3a31420-6d60-473d-a522-776d6e8e96b0",
+ "name" : "manage-account",
+ "description" : "${role_manage-account}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "account" : [ "manage-account-links" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "attributes" : { }
+ }, {
+ "id" : "60c0fb11-6994-42fb-aa45-2a238d55aef4",
+ "name" : "view-consent",
+ "description" : "${role_view-consent}",
+ "composite" : false,
+ "clientRole" : true,
+ "containerId" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "attributes" : { }
+ }, {
+ "id" : "8d81d1ec-0cc1-4e7e-a7be-695e145be9a2",
+ "name" : "manage-consent",
+ "description" : "${role_manage-consent}",
+ "composite" : true,
+ "composites" : {
+ "client" : {
+ "account" : [ "view-consent" ]
+ }
+ },
+ "clientRole" : true,
+ "containerId" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "attributes" : { }
+ } ]
+ }
+ },
+ "groups" : [ ],
+ "defaultRole" : {
+ "id" : "66b737fa-04f2-4d48-a1e9-6a5c747bb019",
+ "name" : "default-roles-realm1",
+ "description" : "${role_default-roles}",
+ "composite" : true,
+ "clientRole" : false,
+ "containerId" : "2a830e50-060a-429e-93d6-5bbf9bf10171"
+ },
+ "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" : [ ],
+ "scopeMappings" : [ {
+ "clientScope" : "offline_access",
+ "roles" : [ "offline_access" ]
+ } ],
+ "clientScopeMappings" : {
+ "account" : [ {
+ "client" : "account-console",
+ "roles" : [ "manage-account", "view-groups" ]
+ } ]
+ },
+ "clients" : [ {
+ "id" : "5badfc48-fcb6-4ad6-9dab-c34cc4373e8e",
+ "clientId" : "account",
+ "name" : "${client_account}",
+ "rootUrl" : "${authBaseUrl}",
+ "baseUrl" : "/realms/realm1/account/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ "/realms/realm1/account/*" ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "post.logout.redirect.uris" : "+"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "a798cdea-02a0-4a3a-9366-18d337cd3fe3",
+ "clientId" : "account-console",
+ "name" : "${client_account-console}",
+ "rootUrl" : "${authBaseUrl}",
+ "baseUrl" : "/realms/realm1/account/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ "/realms/realm1/account/*" ],
+ "webOrigins" : [ ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "post.logout.redirect.uris" : "+",
+ "pkce.code.challenge.method" : "S256"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "protocolMappers" : [ {
+ "id" : "9e400606-0182-4aa0-8453-f3c347b25c03",
+ "name" : "audience resolve",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-audience-resolve-mapper",
+ "consentRequired" : false,
+ "config" : { }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "5a5824ab-d09a-4e01-884f-fa2440b1898f",
+ "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" : { },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "ff0bc3fd-6cee-4960-8c07-951146f8d389",
+ "clientId" : "broker",
+ "name" : "${client_broker}",
+ "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" : { },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "db83bf43-8c71-4c3b-80a9-0be1ed4e6b0b",
+ "clientId" : "fair-mast-test",
+ "name" : "",
+ "description" : "",
+ "rootUrl" : "",
+ "adminUrl" : "",
+ "baseUrl" : "",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "secret" : "w9pOmNyAnO6B3SlPcmYr10Nq7iwIn5ze",
+ "redirectUris" : [ "/*" ],
+ "webOrigins" : [ "/*" ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : true,
+ "serviceAccountsEnabled" : true,
+ "publicClient" : false,
+ "frontchannelLogout" : true,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "oidc.ciba.grant.enabled" : "false",
+ "oauth2.device.authorization.grant.enabled" : "false",
+ "client.secret.creation.time" : "1738772459",
+ "backchannel.logout.session.required" : "true",
+ "backchannel.logout.revoke.offline.tokens" : "false"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : true,
+ "nodeReRegistrationTimeout" : -1,
+ "protocolMappers" : [ {
+ "id" : "027775bd-74e5-4ac8-b8d7-08f52f7d8130",
+ "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" : "d37e968e-4cf2-446d-9f0b-5bb56507fd93",
+ "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" : "a3d67f8a-5846-45f8-ba1b-ccfde18f3549",
+ "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"
+ }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "194b119f-e4ca-45dc-9852-b185511869d3",
+ "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" : { },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ }, {
+ "id" : "a1d48ede-367c-4c47-997c-ba98acd2ab42",
+ "clientId" : "security-admin-console",
+ "name" : "${client_security-admin-console}",
+ "rootUrl" : "${authAdminUrl}",
+ "baseUrl" : "/admin/realm1/console/",
+ "surrogateAuthRequired" : false,
+ "enabled" : true,
+ "alwaysDisplayInConsole" : false,
+ "clientAuthenticatorType" : "client-secret",
+ "redirectUris" : [ "/admin/realm1/console/*" ],
+ "webOrigins" : [ "+" ],
+ "notBefore" : 0,
+ "bearerOnly" : false,
+ "consentRequired" : false,
+ "standardFlowEnabled" : true,
+ "implicitFlowEnabled" : false,
+ "directAccessGrantsEnabled" : false,
+ "serviceAccountsEnabled" : false,
+ "publicClient" : true,
+ "frontchannelLogout" : false,
+ "protocol" : "openid-connect",
+ "attributes" : {
+ "post.logout.redirect.uris" : "+",
+ "pkce.code.challenge.method" : "S256"
+ },
+ "authenticationFlowBindingOverrides" : { },
+ "fullScopeAllowed" : false,
+ "nodeReRegistrationTimeout" : 0,
+ "protocolMappers" : [ {
+ "id" : "b3e7eef5-cf76-4497-94d7-87511ddf9dae",
+ "name" : "locale",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "locale",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "locale",
+ "jsonType.label" : "String"
+ }
+ } ],
+ "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+ "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+ } ],
+ "clientScopes" : [ {
+ "id" : "d4688d6e-f62f-480f-bec5-8308e105d246",
+ "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" : "18a19cce-1a3f-4486-8d0c-43422946a39d",
+ "name" : "phone number verified",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "phoneNumberVerified",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "phone_number_verified",
+ "jsonType.label" : "boolean"
+ }
+ }, {
+ "id" : "01f1c1b7-c89c-4011-a0e7-6c0b0ca87019",
+ "name" : "phone number",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "phoneNumber",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "phone_number",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "75c2d516-9ffa-4366-a3a9-b28c3c7ad6d7",
+ "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" : "8125c5a3-52fe-4be7-b9ee-05c5256a5b26",
+ "name" : "acr loa level",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-acr-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "id.token.claim" : "true",
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true"
+ }
+ } ]
+ }, {
+ "id" : "8873a967-bcff-439c-8b60-721d7d06f664",
+ "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" : "bb5674f4-e730-4dd0-846b-13b99dff2029",
+ "name" : "address",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-address-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "user.attribute.formatted" : "formatted",
+ "user.attribute.country" : "country",
+ "introspection.token.claim" : "true",
+ "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" : "b6284fd8-0881-4b80-9201-76f2887e6854",
+ "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" : "c73d379d-ae2f-4f7c-8093-9ea57faad1e0",
+ "name" : "client roles",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-client-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "multivalued" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "foo",
+ "id.token.claim" : "false",
+ "lightweight.claim" : "false",
+ "access.token.claim" : "true",
+ "claim.name" : "resource_access.${client_id}.roles",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "0f995737-e17c-4db2-af2a-dd7558389d7b",
+ "name" : "audience resolve",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-audience-resolve-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true"
+ }
+ }, {
+ "id" : "e7bef9b1-e593-4b5e-968b-4de741ab4f26",
+ "name" : "realm roles",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "multivalued" : "true",
+ "user.attribute" : "foo",
+ "access.token.claim" : "true",
+ "claim.name" : "realm_access.roles",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "2362013b-0a5d-447c-be4b-2f841891e63c",
+ "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" : "bab45ad3-ba94-40c9-b2ee-98525e4a57fe",
+ "name" : "picture",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "picture",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "picture",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "f22fb0c4-9019-4049-85c6-819c1aefceab",
+ "name" : "given name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "firstName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "given_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "cf69951f-b51a-4a91-b5b7-f395bf4f74c5",
+ "name" : "middle name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "middleName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "middle_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "99da3b93-6c6a-4658-add1-fb03ce1b3156",
+ "name" : "profile",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "profile",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "profile",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "2faa6c77-43a5-4326-b09f-afda33fe93b8",
+ "name" : "birthdate",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "birthdate",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "birthdate",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "d3000e01-54da-49c4-885c-36de7de239cb",
+ "name" : "full name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-full-name-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "id.token.claim" : "true",
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true",
+ "userinfo.token.claim" : "true"
+ }
+ }, {
+ "id" : "72730f72-85fb-410c-a8f8-667b9c959cd2",
+ "name" : "nickname",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "nickname",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "nickname",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "7a1a97ee-65b1-41bc-9a64-9bef94f46a07",
+ "name" : "username",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "username",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "preferred_username",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "febc9fbf-8f3f-4eff-8883-6b252a5ca6a0",
+ "name" : "zoneinfo",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "zoneinfo",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "zoneinfo",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "49057c9e-4b6b-495a-ab95-873854bfb4c3",
+ "name" : "family name",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "lastName",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "family_name",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "e600e974-c2b0-404b-be93-5e10ed1863f1",
+ "name" : "updated at",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "updatedAt",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "updated_at",
+ "jsonType.label" : "long"
+ }
+ }, {
+ "id" : "81a70a03-6672-485b-a98b-1fc102bd6917",
+ "name" : "gender",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "gender",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "gender",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "5cbc4cb8-f27b-494a-adac-b573e18cb50e",
+ "name" : "website",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "website",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "website",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "7f93c56d-d18d-4ab0-a1de-2f8809975303",
+ "name" : "locale",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "locale",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "locale",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "bbd822e6-fe5f-42a4-85a8-4bd26e5d4449",
+ "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" : "514e3065-6661-4981-ac21-e2966b33f31f",
+ "name" : "email verified",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-property-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "emailVerified",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "email_verified",
+ "jsonType.label" : "boolean"
+ }
+ }, {
+ "id" : "e8f543b2-435b-43ed-9946-ab9b3faaa8f7",
+ "name" : "email",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "email",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "email",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "dfd426c0-e3ce-45c7-af13-a0b2172f7580",
+ "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" : "ab4f21e2-4d06-4a16-a61d-aaffd69e36f9",
+ "name" : "role_list",
+ "description" : "SAML role list",
+ "protocol" : "saml",
+ "attributes" : {
+ "consent.screen.text" : "${samlRoleListScopeConsentText}",
+ "display.on.consent.screen" : "true"
+ },
+ "protocolMappers" : [ {
+ "id" : "8bdfcc6d-df6c-4d3e-9ea1-115b40a88541",
+ "name" : "role list",
+ "protocol" : "saml",
+ "protocolMapper" : "saml-role-list-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "single" : "false",
+ "attribute.nameformat" : "Basic",
+ "attribute.name" : "Role"
+ }
+ } ]
+ }, {
+ "id" : "6d4f4cbd-bafc-4afd-bbec-1e9c20065f18",
+ "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" : "a61be297-cc17-4f3b-94ed-f3fda21e7317",
+ "name" : "groups",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "multivalued" : "true",
+ "user.attribute" : "foo",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "groups",
+ "jsonType.label" : "String"
+ }
+ }, {
+ "id" : "c4c13b1f-54b2-4706-ac84-a69b0cac8135",
+ "name" : "upn",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-usermodel-attribute-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "userinfo.token.claim" : "true",
+ "user.attribute" : "username",
+ "id.token.claim" : "true",
+ "access.token.claim" : "true",
+ "claim.name" : "upn",
+ "jsonType.label" : "String"
+ }
+ } ]
+ }, {
+ "id" : "6ddb03a6-9a4d-4fb6-8654-8f862d751d93",
+ "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" : "b2fd778c-7e0a-408c-bf4f-9e591561a116",
+ "name" : "allowed web origins",
+ "protocol" : "openid-connect",
+ "protocolMapper" : "oidc-allowed-origins-mapper",
+ "consentRequired" : false,
+ "config" : {
+ "introspection.token.claim" : "true",
+ "access.token.claim" : "true"
+ }
+ } ]
+ } ],
+ "defaultDefaultClientScopes" : [ "role_list", "profile", "email", "roles", "web-origins", "acr" ],
+ "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" : "ed91b215-c670-4749-80b8-93becf18f184",
+ "name" : "Consent Required",
+ "providerId" : "consent-required",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : { }
+ }, {
+ "id" : "1f9773da-79c9-4c3a-b35a-1f6f619cb7dd",
+ "name" : "Trusted Hosts",
+ "providerId" : "trusted-hosts",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "host-sending-registration-request-must-match" : [ "true" ],
+ "client-uris-must-match" : [ "true" ]
+ }
+ }, {
+ "id" : "28db44dd-7b63-4703-b1a8-e1365d64867c",
+ "name" : "Allowed Protocol Mapper Types",
+ "providerId" : "allowed-protocol-mappers",
+ "subType" : "authenticated",
+ "subComponents" : { },
+ "config" : {
+ "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "saml-user-attribute-mapper", "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-role-list-mapper", "saml-user-property-mapper", "oidc-address-mapper" ]
+ }
+ }, {
+ "id" : "2458a2ac-3bf8-4d30-a6eb-91c56c81afc8",
+ "name" : "Full Scope Disabled",
+ "providerId" : "scope",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : { }
+ }, {
+ "id" : "d25ce104-df83-49a3-88a2-fc8118e0ac89",
+ "name" : "Allowed Client Scopes",
+ "providerId" : "allowed-client-templates",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "allow-default-scopes" : [ "true" ]
+ }
+ }, {
+ "id" : "4a30c3c0-79bb-4b8b-86ad-433ae04a25b3",
+ "name" : "Max Clients Limit",
+ "providerId" : "max-clients",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "max-clients" : [ "200" ]
+ }
+ }, {
+ "id" : "f9cf5ef8-cd7d-4a59-ab2c-598ae56fecc6",
+ "name" : "Allowed Client Scopes",
+ "providerId" : "allowed-client-templates",
+ "subType" : "authenticated",
+ "subComponents" : { },
+ "config" : {
+ "allow-default-scopes" : [ "true" ]
+ }
+ }, {
+ "id" : "e314db0b-a626-4afb-9224-ed6802b79a89",
+ "name" : "Allowed Protocol Mapper Types",
+ "providerId" : "allowed-protocol-mappers",
+ "subType" : "anonymous",
+ "subComponents" : { },
+ "config" : {
+ "allowed-protocol-mapper-types" : [ "saml-user-attribute-mapper", "saml-role-list-mapper", "oidc-usermodel-attribute-mapper", "oidc-usermodel-property-mapper", "oidc-full-name-mapper", "saml-user-property-mapper", "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper" ]
+ }
+ } ],
+ "org.keycloak.keys.KeyProvider" : [ {
+ "id" : "0c0f7135-8405-4547-a510-ef7b7fea461d",
+ "name" : "hmac-generated-hs512",
+ "providerId" : "hmac-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "0935d0e1-f0c2-4738-b752-9dab41b47cb7" ],
+ "secret" : [ "F6hsQk8pJ1a7sRdh31l6HEl_lPkbX9J8_bH5KqJMaC3000zcagHFQLytA9lkqQb4yJl7zYlTzbrDY8Nt5YmaIjbHy0ZbQenvIMGNw3YQcmQ3EX-XgirEJL5i5xFyNIu1a7WMuSWRYxd5banD1sGlZKn5pn4VyJUFZL5wPjZVJXU" ],
+ "priority" : [ "100" ],
+ "algorithm" : [ "HS512" ]
+ }
+ }, {
+ "id" : "3e8df6f9-6643-48fd-865c-df8750147d01",
+ "name" : "rsa-enc-generated",
+ "providerId" : "rsa-enc-generated",
+ "subComponents" : { },
+ "config" : {
+ "privateKey" : [ "MIIEowIBAAKCAQEAqh9beQKQtuLgJjNpBZltA8zMHarq60JdJpr074cOtcJeptyLhm1J8E1GOpjB1yxJwFTmwDu2IY71EMa72oAfO86Z0x02Z5+6m44PYZKRqmP5DJUHYRVK05dymlmcUxauFvarv1cLG56tLkilyoFxpKegHsf3vR8NOr0biC2sUawcoWuzsuf7uCJVspXG8Bi0wBqYBrTjgWMJRVZXaOuhKTUlGFijHOp6E2BNh6NfXZ/MIJUEQjFVbi252XOTjP289CARE3t+xSZGznIOHZIuh075YJOucNYl1G/tCuzwUZF2N1cujAp/bp5gwdj3Y0RJ3sALrLsd3C8KkKUsGhncyQIDAQABAoIBABffPz++JhPJHE5f/Rxls3rKsdh2k8Z1e+AfSGrq1xvsQsnuvWlx9o57hB+phdyC1h/gtLdEPxd7GapuqLei2OnUi5iooGoZa4nJJ8wM/Cxzy46CGb9RdJGNI+4YJavcd+C4YSYADzVN+9vjIoNFzMOf01kzvZt9OvxYwv9F9sidlQ49MuBuJPKugSXLS77tEPNvhj1UuYMSGiJOExdF67KyFbTSS0a7Bj7CEA1O7sxz2vxug8yz2R2JvEKRDCGUO64kwwdz/C6zm0Fo8zflgER/F639aVD5YF/xmz7XgGij/k9QAb1IA05EkdYSX/Vuw+MKOY6l5FSixCWNSMEjuc0CgYEA5A7dl4wqHrGRO56xdti8FX7HuJjCmDjCO2sHabnkvXcSnIBtoaZzq/+8EWb49PYfKzvQwyozWmAl0TA/4M6rEHVYMq/+EfJniG3xcYP9MWVaaKwp8riJJ0lCb93ipqkKK37wTiMydS3/ffSs0iz+fV7v97jD1bdTGuqpC2njdG8CgYEAvvdRkfWXAr2Xy/xwysXXWbHUEJzOhLVOU3zcxDS1w28XJ9DAkeGg/P9p9ViLa6yRHUyc+pXak6ziHu9e9NIdQ/5Fod1XmGDqWz+QtkLEAFC/t1JnsVEPqycyQy25f0vuSnO1ngTlkjXvRH36pAZmf6VvsGIH63WVkd2G0DMBjkcCgYBzMWsOVFcmH8zbD4JWJI2EUgBxpn+MQgch2iLpbWMzrERzVo+JujjtJQSKybdwjC0cOl9tZRCBUtVnP3bUh69yZcNB/xFXYViYWeg9zUyDuc0b1/JsTnfAp0luleYZBoNDix+4aCDhfXVy2ra8hsuY6e5N8z6/4ZSRoPv37ulb8wKBgQCKvmeOU09vF051Tyinukv3B+NaWoMVGiEZOUuwZdd1cX3yWJHAq5xqlCtorPdGuK8KCYK38S5IQsBa13E3EH1gzBnNO2KL/EXpG+rI8QM0c3aG+6EIzCtFH4o+EreGDCXKA/19HHOq4fK/4YO7rkbEEO9vyBmW8exEeR2coKJNuwKBgD/4znEua5m5LBcXXnVqMkiguq5+Koj+citY8plqv14JH32TXbphfNQ653UR6Cb+arnvJR7Zdf/5uA2cGxvhcWIQWaS3uXNjV1eEqNxDpJqTot59qd6kq1N7uoQvThZu6luduQqXtkcZKNMSq5km+1GV+FC9RRegqVRHST9ox4W1" ],
+ "keyUse" : [ "ENC" ],
+ "certificate" : [ "MIICmzCCAYMCBgGU1tY+qjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZyZWFsbTEwHhcNMjUwMjA1MTU1NzMyWhcNMzUwMjA1MTU1OTEyWjARMQ8wDQYDVQQDDAZyZWFsbTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqH1t5ApC24uAmM2kFmW0DzMwdqurrQl0mmvTvhw61wl6m3IuGbUnwTUY6mMHXLEnAVObAO7YhjvUQxrvagB87zpnTHTZnn7qbjg9hkpGqY/kMlQdhFUrTl3KaWZxTFq4W9qu/Vwsbnq0uSKXKgXGkp6Aex/e9Hw06vRuILaxRrByha7Oy5/u4IlWylcbwGLTAGpgGtOOBYwlFVldo66EpNSUYWKMc6noTYE2Ho19dn8wglQRCMVVuLbnZc5OM/bz0IBETe37FJkbOcg4dki6HTvlgk65w1iXUb+0K7PBRkXY3Vy6MCn9unmDB2PdjREnewAusux3cLwqQpSwaGdzJAgMBAAEwDQYJKoZIhvcNAQELBQADggEBACvaQdIfdpQEeS7I8j6gw4SauOCbFPqygRKKkL8CesiC0sp2c/Od+Efe37Ow6t/YrUE9qEJannv3FzhHhgyWQDs2zTpO5rs5ZeOOoE9eptNKFax8Ax9iWy0O/vV/NJuptm7VgjI/ycmw4DuYTF/DOfir/ErEfbGgvKPng5upta6DD7eAOLpWYFMvds7GkcTPFDg3A60INFF06WPeuPmiXkm/lwuRHWueflYAgfIo4cz1ztL9ShmCrzXmgRl0fmYGnhLF21XV8R5CFKVLTqs/ZKJIroIHbE0zVlRHU18aRXRGDCXAj+fev8JQfrm2jnXXcvSI2/e74FMFqRbnhY+XOnU=" ],
+ "priority" : [ "100" ],
+ "algorithm" : [ "RSA-OAEP" ]
+ }
+ }, {
+ "id" : "983233ae-e409-425a-87fd-3c5904aaf6f8",
+ "name" : "aes-generated",
+ "providerId" : "aes-generated",
+ "subComponents" : { },
+ "config" : {
+ "kid" : [ "b0c59563-9d28-4172-a6ba-b1b7529a4a02" ],
+ "secret" : [ "61_v5MCF5HANEEnOCId1fA" ],
+ "priority" : [ "100" ]
+ }
+ }, {
+ "id" : "3fb3b2dc-3e51-41c4-bb80-a992fe915559",
+ "name" : "rsa-generated",
+ "providerId" : "rsa-generated",
+ "subComponents" : { },
+ "config" : {
+ "privateKey" : [ "MIIEowIBAAKCAQEAtdGp+xxyP5wqVGeUtEzUiqmUbluQ7GzpcM62jZsnR97+40L1S5P/tRiuVh6mSInduBEPw7z5thMrkUIYMXhtMSx4nQ6r5wKMkoFSsK4akLH9oLGDUrveiPX/rEo8iSMwbTS6vyMkqucZZEqK+VQLrAieNTUmdinq0TAMT8OV9gWe+McXXJGxcBUIp1A5BXT6nad55jpmeleOyOrWg3xKBjtm56lUQBvNfV/8dDy+kwlhxy9uC61FQtu6IZcBbNnF1skZovCycwnc/OoQfS2nPHOnJqOGmf8Hhc05PKpSlKgwzwDV3r3dgKawdOBhvurMIKvBvUTIzUd9oL6yEBwQVwIDAQABAoIBAByvq8X2wv/OP895WDjqNk56WvTedYsX0+z8cEj/Rb9NK6HnmpQGEb4c2sSzqUCgn96+smILmspjU+hjKTYE7hVoEs+U1QJpoIws40ME9SQHMSD9YN7YzU+GoIQqYkqwxp80RpKJlOtx8sukBzE3VXAbG/sBG8Rg8K94iTi8fxiFnm85eJmA7NGWRiV9II/1Y+P/ua99FR8JYfhhZG3wFUo16gFN3l0PwGuB/c7zkYTewVoJfK9Yny/9Uehe5appOrETHQnh2ImCeUjl8xlW+4rj83MUF4J+S4qp/YHg9JjE1qL7CyQMn5V5I6ipyZBrRL68LM0DpDcinK5B/d2n6kECgYEA2BQKv+nLClyy2rNHD/ey/iZxM5GvmlSp6KLXwiOFM1RR1zQv9JBfAI0PlbKXPj9eGj5di0IhABPeTYDrIEiffVKVIejoC6wyhRXnG9tPdxL2PRas4fe0CSrp4crnz9JtV3xhKuWpLzk0rsF6uoyaaTVoK7pBgr122FNm9WjxkTkCgYEA12k+eaPbycYpC0wxanzTBgmXlRSyS+WKw7dFw639i386KzO5jijNZsFQEltpFF7BAvvswWSAhYovyPvDALNbh/CAEleGEPS3yB9H+0j74EuR2y6TcnWVnS4WVtp5wmTnxml1bWWgbN2PsEBI+jsCHyGC4SX137ErKpQvIWDO/g8CgYEAtjD3+2eLHtqYqBT/9zO5BdiuHHhbo3p9pT0hRX2jw2r2csl7IfBVWmaWXHewVPkjRGePgmso3iLij2EDYD471HS8cFIsziLMmjCkpHVf5Jvlag7jiMjOUeiQOiVXHoFkVp72YzAwXjQS+sMC06bYT5uLkUtED5PnUHHKX2S0QukCgYADkPV81A6md4Zkbn1+8tQXjH8a873D7efvN5CLHc1NyuxunKucw+YqplaqByNlN/BgGUWhKgXKsC/8Vtayo0WHqZ6lLxfEHhkQ0hvB+EJbQ0UF6O59/Z5dfM7X30QWyM7hhQtxpTYTt1NSqq3KnsF5PHfLPHKmomtBiDSDi/PBVwKBgGjNEuEy/MznLC0iHTtLo0021XJKpDuHNzroU3N3ac6OstmpKyGw+2KT3A3bYb1yUmX1N8DplN0D9z3LWLoNuHeXqXkcbIxdS3HdAgRrYcpUHCsppIyaQ16OS3yRS6C4wM2euveVsW21q93QsOdNjan+bPyBYZGLdyUYS/EpVkkf" ],
+ "keyUse" : [ "SIG" ],
+ "certificate" : [ "MIICmzCCAYMCBgGU1tY77TANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZyZWFsbTEwHhcNMjUwMjA1MTU1NzMxWhcNMzUwMjA1MTU1OTExWjARMQ8wDQYDVQQDDAZyZWFsbTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC10an7HHI/nCpUZ5S0TNSKqZRuW5DsbOlwzraNmydH3v7jQvVLk/+1GK5WHqZIid24EQ/DvPm2EyuRQhgxeG0xLHidDqvnAoySgVKwrhqQsf2gsYNSu96I9f+sSjyJIzBtNLq/IySq5xlkSor5VAusCJ41NSZ2KerRMAxPw5X2BZ74xxdckbFwFQinUDkFdPqdp3nmOmZ6V47I6taDfEoGO2bnqVRAG819X/x0PL6TCWHHL24LrUVC27ohlwFs2cXWyRmi8LJzCdz86hB9Lac8c6cmo4aZ/weFzTk8qlKUqDDPANXevd2AprB04GG+6swgq8G9RMjNR32gvrIQHBBXAgMBAAEwDQYJKoZIhvcNAQELBQADggEBALVXG+bfj4K+ha+UvccVADDCZ6CpQ0cbcJpmXw+MJJVfvxEk0Lf3TdzGbSW2LjZQpZM4+ZmQfHezaG8AQN1OGL/lWJeSSe9baQZEKLSQqoo8e+naROE5cPLj3yEagPyqrtYaT17qlfMSHRYLUgDtifhaTsr6QascUMwyigqK5zyvify3dETxIYith+ZWpzstcb49vTOCc6Kcu9Il4cotWrra05B9x3z76YQZ28y6dBVVvafbAdnxSOPWiEnmaC9aUjiOaF9h276pEaLqyOJuVTmCVgvWLbIhNo8L63JBz/DoU0P9aqrb39o2rKe2UouAPVEEQg6LE5q9rdkIRwdjDS8=" ],
+ "priority" : [ "100" ]
+ }
+ } ]
+ },
+ "internationalizationEnabled" : false,
+ "supportedLocales" : [ ],
+ "authenticationFlows" : [ {
+ "id" : "83a63a8e-8419-4b46-bf55-336b50dc6920",
+ "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" : "c4085008-5222-4b01-9fdd-212c8f694cd3",
+ "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" : "3471ea73-a78f-40fd-9b38-9f16d46574d8",
+ "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" : "ea1c8221-ba18-436f-b435-05a59bfb7c5c",
+ "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" : "77e5d322-d37f-48c3-8967-81c160b98373",
+ "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" : "196e54d0-db5e-4214-ab1d-7ba909dc3d33",
+ "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" : "ee784c6f-704d-4a86-b9ff-8823b19810ae",
+ "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" : "9729bb97-40fb-4710-aa32-77abc00763a5",
+ "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" : "81210ef3-14d8-4b38-b6be-e3f3fc69b723",
+ "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" : "6531a59a-c6ab-4ff8-ad34-cbc41f02fd4f",
+ "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" : "36d22642-e2c0-456a-8897-0638c6a5f8f7",
+ "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" : "f1989d1f-b20c-4a84-84a8-cbdbc952a8bb",
+ "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" : "ec6dea44-806b-44b0-bbb6-5d35fce3dd08",
+ "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" : "bbceb760-860b-4276-9be1-c82141f7d14c",
+ "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" : "ba8c0509-dd64-48aa-b76b-1a050ea3bc6d",
+ "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" : "00dd00cb-333c-4f3a-ade9-b4a166a52c00",
+ "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
+ }, {
+ "authenticator" : "registration-terms-and-conditions",
+ "authenticatorFlow" : false,
+ "requirement" : "DISABLED",
+ "priority" : 70,
+ "autheticatorFlow" : false,
+ "userSetupAllowed" : false
+ } ]
+ }, {
+ "id" : "cf714c8f-ec76-4dd6-9d52-fec3b134c2f1",
+ "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" : "7e7cc2b2-daba-4c26-b65b-6eeb69d5b281",
+ "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" : "27b897fb-e775-462f-a477-e05aea94c4f3",
+ "alias" : "create unique user config",
+ "config" : {
+ "require.password.update.after.registration" : "false"
+ }
+ }, {
+ "id" : "8b2f8423-2cd4-439b-9513-3e6a79054111",
+ "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" : false,
+ "defaultAction" : false,
+ "priority" : 30,
+ "config" : { }
+ }, {
+ "alias" : "UPDATE_PROFILE",
+ "name" : "Update Profile",
+ "providerId" : "UPDATE_PROFILE",
+ "enabled" : false,
+ "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" : "webauthn-register",
+ "name" : "Webauthn Register",
+ "providerId" : "webauthn-register",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 70,
+ "config" : { }
+ }, {
+ "alias" : "webauthn-register-passwordless",
+ "name" : "Webauthn Register Passwordless",
+ "providerId" : "webauthn-register-passwordless",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 80,
+ "config" : { }
+ }, {
+ "alias" : "VERIFY_PROFILE",
+ "name" : "Verify Profile",
+ "providerId" : "VERIFY_PROFILE",
+ "enabled" : false,
+ "defaultAction" : false,
+ "priority" : 90,
+ "config" : { }
+ }, {
+ "alias" : "delete_credential",
+ "name" : "Delete Credential",
+ "providerId" : "delete_credential",
+ "enabled" : true,
+ "defaultAction" : false,
+ "priority" : 100,
+ "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",
+ "oauth2DevicePollingInterval" : "5",
+ "parRequestUriLifespan" : "60",
+ "cibaInterval" : "5",
+ "realmReusableOtpCode" : "false"
+ },
+ "keycloakVersion" : "24.0.5",
+ "userManagedAccessAllowed" : false,
+ "clientProfiles" : {
+ "profiles" : [ ]
+ },
+ "clientPolicies" : {
+ "policies" : [ ]
+ }
+}
\ No newline at end of file
diff --git a/dev/docker/realm/import/realm1-users-0.json b/dev/docker/realm/import/realm1-users-0.json
new file mode 100644
index 00000000..6df49af4
--- /dev/null
+++ b/dev/docker/realm/import/realm1-users-0.json
@@ -0,0 +1,67 @@
+{
+ "realm" : "realm1",
+ "users" : [ {
+ "id" : "739f1246-1342-40de-a108-6aec94313964",
+ "username" : "service-account-fair-mast-test",
+ "emailVerified" : false,
+ "createdTimestamp" : 1738772459169,
+ "enabled" : true,
+ "totp" : false,
+ "serviceAccountClientId" : "fair-mast-test",
+ "credentials" : [ ],
+ "disableableCredentialTypes" : [ ],
+ "requiredActions" : [ ],
+ "realmRoles" : [ "default-roles-realm1" ],
+ "notBefore" : 0,
+ "groups" : [ ]
+ }, {
+ "id" : "f00711ee-f47a-4e8a-8633-01e38c147979",
+ "username" : "test",
+ "firstName" : "firsttest",
+ "lastName" : "lasttest",
+ "email" : "test@test.com",
+ "emailVerified" : true,
+ "createdTimestamp" : 1738771631765,
+ "enabled" : true,
+ "totp" : false,
+ "credentials" : [ {
+ "id" : "5e2e781c-8f34-4f78-a49a-0d89a6493179",
+ "type" : "password",
+ "userLabel" : "My password",
+ "createdDate" : 1738771656023,
+ "secretData" : "{\"value\":\"MNbwr5F5JgDyVbFyqZpCurMIGfpGQF8IMVENhlhNHd4Vmapmg6+pIv6Kc5RJwUWGznBT3L/vZoLO9gH95UWBng==\",\"salt\":\"WgFp6e56+KpPJaToCLkA0Q==\",\"additionalParameters\":{}}",
+ "credentialData" : "{\"hashIterations\":210000,\"algorithm\":\"pbkdf2-sha512\",\"additionalParameters\":{}}"
+ } ],
+ "disableableCredentialTypes" : [ ],
+ "requiredActions" : [ ],
+ "realmRoles" : [ "uma_authorization", "default-roles-realm1", "offline_access" ],
+ "clientRoles" : {
+ "fair-mast-test" : [ "fair-mast-admins" ]
+ },
+ "notBefore" : 0,
+ "groups" : [ ]
+ }, {
+ "id" : "9498f032-65bf-4c0e-aeb9-5380bec9dec5",
+ "username" : "test1",
+ "firstName" : "firsttest1",
+ "lastName" : "lasttest1",
+ "email" : "test1@test.com",
+ "emailVerified" : true,
+ "createdTimestamp" : 1738772031559,
+ "enabled" : true,
+ "totp" : false,
+ "credentials" : [ {
+ "id" : "94f426ae-e70c-4007-98e3-35d18795adde",
+ "type" : "password",
+ "userLabel" : "My password",
+ "createdDate" : 1738772068193,
+ "secretData" : "{\"value\":\"cQJLLEwzKRtzpkyvTeLTC3bNlM0ZH9pLynP89rLUlnswt5CviyS7UDKl7128rCp0xXdlRQhmouRZEuKIn80tpA==\",\"salt\":\"eNzrtMCYrgstEyfLOp+whg==\",\"additionalParameters\":{}}",
+ "credentialData" : "{\"hashIterations\":210000,\"algorithm\":\"pbkdf2-sha512\",\"additionalParameters\":{}}"
+ } ],
+ "disableableCredentialTypes" : [ ],
+ "requiredActions" : [ ],
+ "realmRoles" : [ "default-roles-realm1" ],
+ "notBefore" : 0,
+ "groups" : [ ]
+ } ]
+}
\ No newline at end of file