From a45cf7476f9564e2cafcaadb36e87e73f7a4bd16 Mon Sep 17 00:00:00 2001 From: Helmut Hutzler <helmut.hutzler@th-nuernberg.de> Date: Mon, 24 Oct 2022 08:56:24 +0000 Subject: [PATCH] Production Keycloak Setup with SSL and Import Realm Feature --- Keycloak/dk.yaml | 66 + Keycloak/install-keycloak.sh | 46 + Keycloak/ir-keycloak.yaml | 25 + Keycloak/realm-config/RBAC-realm.json | 2320 +++++++++++++++++++++++++ 4 files changed, 2457 insertions(+) create mode 100644 Keycloak/dk.yaml create mode 100755 Keycloak/install-keycloak.sh create mode 100644 Keycloak/ir-keycloak.yaml create mode 100644 Keycloak/realm-config/RBAC-realm.json diff --git a/Keycloak/dk.yaml b/Keycloak/dk.yaml new file mode 100644 index 0000000..00b6d54 --- /dev/null +++ b/Keycloak/dk.yaml @@ -0,0 +1,66 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + creationTimestamp: null + labels: + app: keycloak-oidc-deployment + name: keycloak-oidc-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: keycloak-oidc-deployment + strategy: {} + template: + metadata: + creationTimestamp: null + labels: + app: keycloak-oidc-deployment + spec: + containers: + - image: quay.io/keycloak/keycloak:latest + args: ["start","--import-realm", "--http-port", "8280" ] + name: keycloak-oidc + env: + - name: KEYCLOAK_ADMIN + value: admin + - name: KEYCLOAK_ADMIN_PASSWORD + value: admin + - name: KEYCLOAK_IMPORT + value: /import/RBAC-realm.json + - name: KC_LOG_LEVEL + value: DEBUG + - name: KC_PROXY + value: edge + - name: KC_HTTP_RELATIVE_PATH + value: /auth + - name: KC_HOSTNAME_STRICT + value: "false" + - name: KC_HOSTNAME + value: _INGRESS_HOST_ + ports: + - name: http + containerPort: 8280 + volumeMounts: + - name: keycloak-oidc-volume + mountPath: /opt/keycloak/data/import + resources: {} + volumes: + - name: keycloak-oidc-volume + configMap: + name: keycloak-oidc-configmap +status: {} +--- +apiVersion: v1 +kind: Service +metadata: + name: keycloak-oidc-service +spec: + type: LoadBalancer + selector: + app: keycloak-oidc-deployment + ports: + - protocol: TCP + port: 8285 + targetPort: 8280 + nodePort: 30444 diff --git a/Keycloak/install-keycloak.sh b/Keycloak/install-keycloak.sh new file mode 100755 index 0000000..1e0f8d6 --- /dev/null +++ b/Keycloak/install-keycloak.sh @@ -0,0 +1,46 @@ +#!/bin/bash +if [ -z "$2" ]; then + echo "Error : Missing FQN for Ingress-Host parameter or namespace " + echo "Sample: $0 kube-master-h1.informatik.fh-nuernberg.de testing" + exit 1 +fi +INGRESS_HOST=$1 +NAME_SPACE=$2 +HOSTNAME=$(echo $INGRESS_HOST | awk -v FS='.' '{print $1}') +TLS_CERT=${HOSTNAME}-tls-cert +echo "Config Parmms:" +echo " Hostname :" ${HOSTNAME} +echo " IngressRoute host :" ${INGRESS_HOST} +echo " TLS Cert :" ${TLS_CERT} +echo " Namespace :" ${NAME_SPACE} + +kubectl delete ns ${NAME_SPACE} +kubectl create ns ${NAME_SPACE} + +kubectl -n ${NAME_SPACE} create configmap keycloak-oidc-configmap --from-file=realm-config +# kubectl -n ${NAME_SPACE} apply -f dk.yaml +rm -rf $HOSTNAME +mkdir $HOSTNAME +cd $HOSTNAME +echo "Config Parmms:" > Config_params.dat +echo " Hostname :" ${HOSTNAME} >> Config_params.dat +echo " IngressRoute host :" ${INGRESS_HOST} >> Config_params.dat +echo " TLS Cert :" ${TLS_CERT} >> Config_params.dat +echo " Namespace :" ${NAME_SPACE} >> Config_params.dat +cat Config_params.dat + +openssl req -newkey rsa:2048 -x509 -sha256 -days 365 -nodes -out tls.crt -keyout tls.key -subj "/CN=${INGRESS_HOST}/emailAddress=Helmut.Hutzler@gmail.com" +kubectl -n ${NAME_SPACE} create secret tls ${TLS_CERT} --key=tls.key --cert=tls.crt +kubectl -n ${NAME_SPACE} describe secret ${TLS_CERT} + +cat ../ir-keycloak.yaml | sed "s/_INGRESS_HOST_/$INGRESS_HOST/g" | sed "s/_TLS_CERT_/$TLS_CERT/g" > ir-keycloak.yaml +cat ../dk.yaml | sed "s/_INGRESS_HOST_/$INGRESS_HOST/g" | sed "s/_TLS_CERT_/$TLS_CERT/g" > dk.yaml + +kubectl -n ${NAME_SPACE} apply -f dk.yaml +kubectl -n ${NAME_SPACE} apply -f ir-keycloak.yaml +kubectl -n ${NAME_SPACE} describe ingressroute ingressroute-oidc-app +kubectl -n ${NAME_SPACE} get all + +echo "Attention: curl script below may fail as it takes some time until keycloak instance is ready just - rerun it ! " +echo "$ curl -v --insecure https://${INGRESS_HOST}/auth/realms/RBAC" + diff --git a/Keycloak/ir-keycloak.yaml b/Keycloak/ir-keycloak.yaml new file mode 100644 index 0000000..565b324 --- /dev/null +++ b/Keycloak/ir-keycloak.yaml @@ -0,0 +1,25 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: oidc-app-strip-path-prefix +spec: + stripPrefix: + prefixes: + - /auth + - /nginx-blue +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: ingressroute-oidc-app +spec: + entryPoints: + - websecure + tls: + secretName: _TLS_CERT_ + routes: + - match: Host(`_INGRESS_HOST_`) && PathPrefix(`/auth/`) + kind: Rule + services: + - name: keycloak-oidc-service + port: 8285 diff --git a/Keycloak/realm-config/RBAC-realm.json b/Keycloak/realm-config/RBAC-realm.json new file mode 100644 index 0000000..d52cfbd --- /dev/null +++ b/Keycloak/realm-config/RBAC-realm.json @@ -0,0 +1,2320 @@ +{ + "id" : "RBAC", + "realm" : "RBAC", + "notBefore" : 1644491652, + "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" : true, + "registrationEmailAsUsername" : false, + "rememberMe" : false, + "verifyEmail" : false, + "loginWithEmailAllowed" : false, + "duplicateEmailsAllowed" : false, + "resetPasswordAllowed" : false, + "editUsernameAllowed" : false, + "bruteForceProtected" : false, + "permanentLockout" : false, + "maxFailureWaitSeconds" : 900, + "minimumQuickLoginWaitSeconds" : 60, + "waitIncrementSeconds" : 60, + "quickLoginCheckMilliSeconds" : 1000, + "maxDeltaTimeSeconds" : 43200, + "failureFactor" : 30, + "roles" : { + "realm" : [ { + "id" : "c491d25d-2d80-4865-9a9e-cce00c6da4f9", + "name" : "rbac_agent_role", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "view-users" ] + } + }, + "clientRole" : false, + "containerId" : "RBAC", + "attributes" : { } + }, { + "id" : "72800914-1bb1-4a85-a7a8-ab129de1d837", + "name" : "default-roles-rbac", + "description" : "${role_default-roles}", + "composite" : true, + "composites" : { + "realm" : [ "offline_access", "uma_authorization" ], + "client" : { + "account" : [ "delete-account", "manage-account", "view-profile" ] + } + }, + "clientRole" : false, + "containerId" : "RBAC", + "attributes" : { } + }, { + "id" : "30bf40a1-b4cc-4d87-a362-3001c8746f2e", + "name" : "uma_authorization", + "description" : "${role_uma_authorization}", + "composite" : false, + "clientRole" : false, + "containerId" : "RBAC", + "attributes" : { } + }, { + "id" : "bd750d16-248d-4df8-91bd-9b64c02f4589", + "name" : "agent_role", + "description" : "Role to view Keycloak Users", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "view-users" ] + } + }, + "clientRole" : false, + "containerId" : "RBAC", + "attributes" : { } + }, { + "id" : "0e3c3c96-7fc4-4d75-93cb-a693945961b5", + "name" : "rbac_superadmin_role", + "composite" : false, + "clientRole" : false, + "containerId" : "RBAC", + "attributes" : { } + }, { + "id" : "b01f73e0-570c-4bc2-aa54-e2d50cd993a0", + "name" : "offline_access", + "description" : "${role_offline-access}", + "composite" : false, + "clientRole" : false, + "containerId" : "RBAC", + "attributes" : { } + }, { + "id" : "e156e658-10f7-4e36-b22a-f3db5bdd2c68", + "name" : "rbac_admin_role", + "description" : "Role to delete Accounts from RBAC realm", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "manage-users" ] + } + }, + "clientRole" : false, + "containerId" : "RBAC", + "attributes" : { } + } ], + "client" : { + "angular-frontend" : [ ], + "realm-management" : [ { + "id" : "2af3f033-6219-4a0b-b39b-41e6fbce3d5c", + "name" : "view-users", + "description" : "${role_view-users}", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "query-groups", "query-users" ] + } + }, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "7d6f3208-43ff-4912-8333-99f966f87e90", + "name" : "impersonation", + "description" : "${role_impersonation}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "de773d88-1f7e-4b0a-ad00-d7bbf8ea0475", + "name" : "view-realm", + "description" : "${role_view-realm}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "8e6af3b5-7ede-421f-b780-bbc3a1253c2d", + "name" : "realm-admin", + "description" : "${role_realm-admin}", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "view-users", "impersonation", "view-realm", "create-client", "view-clients", "query-users", "manage-identity-providers", "query-groups", "manage-events", "view-events", "manage-users", "manage-realm", "view-identity-providers", "view-authorization", "manage-authorization", "query-realms", "query-clients", "manage-clients" ] + } + }, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "1d2ab9be-ecf9-4288-9092-ace3c03f3c9c", + "name" : "create-client", + "description" : "${role_create-client}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "d27c29f3-1898-4168-bcaa-4d9f1401b972", + "name" : "view-clients", + "description" : "${role_view-clients}", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "query-clients" ] + } + }, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "792dba88-f3f7-47d1-a0ac-25bbbce36da7", + "name" : "query-users", + "description" : "${role_query-users}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "2f45818f-0b84-4786-9bc2-5e63c9c9e76f", + "name" : "manage-identity-providers", + "description" : "${role_manage-identity-providers}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "e148a4e7-84ed-48c8-afa0-feb7cd70193f", + "name" : "query-groups", + "description" : "${role_query-groups}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "662cb8cb-0334-4188-af0e-e04b5b12b0c9", + "name" : "manage-events", + "description" : "${role_manage-events}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "942647ee-5b36-4f7a-bd60-97c899817904", + "name" : "manage-users", + "description" : "${role_manage-users}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "199cf007-8a5f-40b2-b74b-e34e7e7a8db8", + "name" : "view-events", + "description" : "${role_view-events}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "537cae15-c415-4bd2-8294-316aa4213606", + "name" : "manage-realm", + "description" : "${role_manage-realm}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "91820f41-6e5a-42e3-a812-aa56fb3f7aea", + "name" : "view-authorization", + "description" : "${role_view-authorization}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "6ab948f0-d79e-4422-96bf-b2ddef4f04f5", + "name" : "view-identity-providers", + "description" : "${role_view-identity-providers}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "0c5227fd-dbd6-433d-af2b-f1b8c0cd53ec", + "name" : "manage-authorization", + "description" : "${role_manage-authorization}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "c4bdec9c-2c9e-4a8c-901e-26d4351b3db5", + "name" : "query-realms", + "description" : "${role_query-realms}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "d4538e72-e21b-487c-b1b0-5b2a24f28b23", + "name" : "query-clients", + "description" : "${role_query-clients}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + }, { + "id" : "77488278-c37f-4c27-9e80-0147aa8f001f", + "name" : "manage-clients", + "description" : "${role_manage-clients}", + "composite" : false, + "clientRole" : true, + "containerId" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "attributes" : { } + } ], + "app-client" : [ { + "id" : "13e8852f-97ea-4700-9718-c8ebf1e8eb92", + "name" : "uma_protection", + "composite" : false, + "clientRole" : true, + "containerId" : "4ab5dce7-e7ac-4e1f-8336-738c9dc3dc00", + "attributes" : { } + } ], + "security-admin-console" : [ ], + "admin-cli" : [ ], + "account-console" : [ ], + "broker" : [ { + "id" : "d368cc93-cda0-4c1c-90c8-eed4683bccf7", + "name" : "read-token", + "description" : "${role_read-token}", + "composite" : false, + "clientRole" : true, + "containerId" : "400bc977-7c6c-45a5-aa2e-b465851edabf", + "attributes" : { } + } ], + "account" : [ { + "id" : "e00eb430-09e0-4460-b247-7ff54ab64304", + "name" : "manage-consent", + "description" : "${role_manage-consent}", + "composite" : true, + "composites" : { + "client" : { + "account" : [ "view-consent" ] + } + }, + "clientRole" : true, + "containerId" : "3bd3905b-9abb-4d2e-87ce-6d4731adf56c", + "attributes" : { } + }, { + "id" : "a87a5d5f-a969-4e0f-b103-2cb5d78f8ae6", + "name" : "view-applications", + "description" : "${role_view-applications}", + "composite" : false, + "clientRole" : true, + "containerId" : "3bd3905b-9abb-4d2e-87ce-6d4731adf56c", + "attributes" : { } + }, { + "id" : "0075c106-5517-47c2-a310-6fd29331c64d", + "name" : "delete-account", + "description" : "${role_delete-account}", + "composite" : false, + "clientRole" : true, + "containerId" : "3bd3905b-9abb-4d2e-87ce-6d4731adf56c", + "attributes" : { } + }, { + "id" : "e050fa90-9ce9-456d-b203-38dbe7e59513", + "name" : "view-consent", + "description" : "${role_view-consent}", + "composite" : false, + "clientRole" : true, + "containerId" : "3bd3905b-9abb-4d2e-87ce-6d4731adf56c", + "attributes" : { } + }, { + "id" : "c829ad87-0a69-42aa-8716-a31e9640d355", + "name" : "manage-account", + "description" : "${role_manage-account}", + "composite" : true, + "composites" : { + "client" : { + "account" : [ "manage-account-links" ] + } + }, + "clientRole" : true, + "containerId" : "3bd3905b-9abb-4d2e-87ce-6d4731adf56c", + "attributes" : { } + }, { + "id" : "6e95d9d4-b4ec-4cb7-bc6a-36951a0219b5", + "name" : "manage-account-links", + "description" : "${role_manage-account-links}", + "composite" : false, + "clientRole" : true, + "containerId" : "3bd3905b-9abb-4d2e-87ce-6d4731adf56c", + "attributes" : { } + }, { + "id" : "06304910-37fd-4b67-9a6f-1771326eaced", + "name" : "view-profile", + "description" : "${role_view-profile}", + "composite" : false, + "clientRole" : true, + "containerId" : "3bd3905b-9abb-4d2e-87ce-6d4731adf56c", + "attributes" : { } + } ] + } + }, + "groups" : [ ], + "defaultRole" : { + "id" : "72800914-1bb1-4a85-a7a8-ab129de1d837", + "name" : "default-roles-rbac", + "description" : "${role_default-roles}", + "composite" : true, + "clientRole" : false, + "containerId" : "RBAC" + }, + "requiredCredentials" : [ "password" ], + "otpPolicyType" : "totp", + "otpPolicyAlgorithm" : "HmacSHA1", + "otpPolicyInitialCounter" : 0, + "otpPolicyDigits" : 6, + "otpPolicyLookAheadWindow" : 1, + "otpPolicyPeriod" : 30, + "otpSupportedApplications" : [ "FreeOTP", "Google Authenticator" ], + "webAuthnPolicyRpEntityName" : "keycloak", + "webAuthnPolicySignatureAlgorithms" : [ "ES256" ], + "webAuthnPolicyRpId" : "", + "webAuthnPolicyAttestationConveyancePreference" : "not specified", + "webAuthnPolicyAuthenticatorAttachment" : "not specified", + "webAuthnPolicyRequireResidentKey" : "not specified", + "webAuthnPolicyUserVerificationRequirement" : "not specified", + "webAuthnPolicyCreateTimeout" : 0, + "webAuthnPolicyAvoidSameAuthenticatorRegister" : false, + "webAuthnPolicyAcceptableAaguids" : [ ], + "webAuthnPolicyPasswordlessRpEntityName" : "keycloak", + "webAuthnPolicyPasswordlessSignatureAlgorithms" : [ "ES256" ], + "webAuthnPolicyPasswordlessRpId" : "", + "webAuthnPolicyPasswordlessAttestationConveyancePreference" : "not specified", + "webAuthnPolicyPasswordlessAuthenticatorAttachment" : "not specified", + "webAuthnPolicyPasswordlessRequireResidentKey" : "not specified", + "webAuthnPolicyPasswordlessUserVerificationRequirement" : "not specified", + "webAuthnPolicyPasswordlessCreateTimeout" : 0, + "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister" : false, + "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ], + "users" : [ { + "id" : "8c2b1740-bcd7-45bd-a43c-fcf5e94c8701", + "createdTimestamp" : 1654075315434, + "username" : "helmut", + "enabled" : false, + "totp" : false, + "emailVerified" : false, + "credentials" : [ ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-rbac" ], + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "0be2fccb-17f2-4582-b122-d5b5334baa0c", + "createdTimestamp" : 1654010017131, + "username" : "hutzler", + "enabled" : false, + "totp" : false, + "emailVerified" : false, + "credentials" : [ ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-rbac" ], + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "e77b6103-dbb7-4f9b-9f5e-63dd37276ed5", + "createdTimestamp" : 1643300279528, + "username" : "service-account-app-client", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "serviceAccountClientId" : "app-client", + "credentials" : [ ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-rbac" ], + "clientRoles" : { + "app-client" : [ "uma_protection" ] + }, + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "181fd2e7-c08e-4742-8aeb-a294fac041f1", + "createdTimestamp" : 1660654618556, + "username" : "superadmin", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "firstName" : "Super", + "lastName" : "Admin", + "email" : "superadmin@web.de", + "credentials" : [ { + "id" : "b1352dff-33a9-456d-8ddf-5d0ca74fa9c3", + "type" : "password", + "createdDate" : 1660654643772, + "secretData" : "{\"value\":\"aXFHErOpX6cOVKy3wZiE1bsr7IcxIf89jCXaNKlHrOFAFkjTuZ+8AwOktYUJyOrN0+0xE1iy9qMDxNLX/qxxaQ==\",\"salt\":\"o+MQ0Ecw5KfYQ7ijHh2+JQ==\",\"additionalParameters\":{}}", + "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" + } ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "rbac_agent_role", "default-roles-rbac", "rbac_superadmin_role", "rbac_admin_role" ], + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "eaec5671-cd86-4828-865d-796fdfc73682", + "createdTimestamp" : 1643361554696, + "username" : "testadmin", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "credentials" : [ { + "id" : "89363d45-8b34-405e-b160-c101422069e7", + "type" : "password", + "createdDate" : 1643361634635, + "secretData" : "{\"value\":\"yVDUck6UgM+xUot/wEGaBiW6sXKEyyOy3Os/xsSgOwOIHqzBq4HzLBMkejr0s3F9Vet0RKrchpoQJCtYf/q0Jw==\",\"salt\":\"KKMXcdmfMBElgm368fGycw==\",\"additionalParameters\":{}}", + "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" + } ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "rbac_agent_role", "default-roles-rbac", "rbac_admin_role" ], + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "88c8411f-f3ac-4999-a26f-14e0335250a1", + "createdTimestamp" : 1652959664155, + "username" : "testagent", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "credentials" : [ { + "id" : "3b0cf91e-83c1-4373-b2b1-b72f7b193d08", + "type" : "password", + "createdDate" : 1652960638538, + "secretData" : "{\"value\":\"eQdQChHskIM51X3NOQ3ssAqNGZcskKLQyKrK8gXbT3DzdCCxnnFR0ZEWOQC0XRuWm36E8Bup/nRxfOpguhhWcA==\",\"salt\":\"Oaa+33jbm012HdniKiof8Q==\",\"additionalParameters\":{}}", + "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" + } ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "rbac_agent_role", "default-roles-rbac" ], + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "d0f151cb-4a39-4cd5-b419-9949065a3eb9", + "createdTimestamp" : 1654073065563, + "username" : "testuser", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "firstName" : "functest", + "lastName" : "functest", + "credentials" : [ { + "id" : "6d4b5a03-37f9-4146-9b77-7143efab9572", + "type" : "password", + "createdDate" : 1654073065670, + "secretData" : "{\"value\":\"HTnvqZh4L/ax6Af0LEr/jVHeBRL+u6aRTve/HMnu8lNpGbUXJBTqDUIwPn43xnnCdfSbQeaSlyKtPQVbH/zaQA==\",\"salt\":\"7b3j2Qg2x8ORIT0J1Zv9QQ==\",\"additionalParameters\":{}}", + "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" + } ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-rbac" ], + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "30034b1a-ba21-4ca0-ae42-a4320c640a0d", + "createdTimestamp" : 1661177688725, + "username" : "u1", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "email" : "u1@web.de", + "credentials" : [ { + "id" : "aeaa264f-3a23-44fb-9068-8fef87459918", + "type" : "password", + "createdDate" : 1661177688835, + "secretData" : "{\"value\":\"XWz1mmU0OfnYTFlMSwiwnpnMSzcBzlLmRdDM6pHm9vPsPeLhHfj46sAZDk+1BNHgAxgBKaWzfiRplC+ocwO7cQ==\",\"salt\":\"RzzxXC3hF/EAGHy8kdQ3MQ==\",\"additionalParameters\":{}}", + "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" + } ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-rbac" ], + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "dc329bed-4f29-4281-96b1-818ed20b57de", + "createdTimestamp" : 1660645735351, + "username" : "user", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "firstName" : "hugo", + "lastName" : "xxx", + "email" : "xxx@xxx", + "credentials" : [ { + "id" : "11919518-d44c-41ca-85ee-0e2a2a512ac9", + "type" : "password", + "createdDate" : 1660645735454, + "secretData" : "{\"value\":\"5r+JMRkXw1vQDjWSNrq92Idq8F7cUw+K8byl/Y/9RwAKKfp8PieKjq8u/qNGI/M36z5N2HeCZdXQOQ8HsTql2A==\",\"salt\":\"vgYICxlek5rj0oZ10kJYfg==\",\"additionalParameters\":{}}", + "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" + } ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-rbac" ], + "notBefore" : 0, + "groups" : [ ] + }, { + "id" : "014e6007-c472-4c3c-aabc-0332e17432e2", + "createdTimestamp" : 1654013769731, + "username" : "user2", + "enabled" : false, + "totp" : false, + "emailVerified" : false, + "credentials" : [ ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-rbac" ], + "notBefore" : 0, + "groups" : [ ] + } ], + "scopeMappings" : [ { + "clientScope" : "offline_access", + "roles" : [ "offline_access" ] + } ], + "clientScopeMappings" : { + "account" : [ { + "client" : "account-console", + "roles" : [ "manage-account" ] + } ] + }, + "clients" : [ { + "id" : "3bd3905b-9abb-4d2e-87ce-6d4731adf56c", + "clientId" : "account", + "name" : "${client_account}", + "rootUrl" : "${authBaseUrl}", + "baseUrl" : "/realms/RBAC/account/", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ "/realms/RBAC/account/*" ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "defaultClientScopes" : [ "web-origins", "roles", "profile", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "ed6b015f-7d22-4f25-a80a-84da1fe86c3a", + "clientId" : "account-console", + "name" : "${client_account-console}", + "rootUrl" : "${authBaseUrl}", + "baseUrl" : "/realms/RBAC/account/", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ "/realms/RBAC/account/*" ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "pkce.code.challenge.method" : "S256" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "bca9443f-f247-4096-8d32-584547f2170e", + "name" : "audience resolve", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-audience-resolve-mapper", + "consentRequired" : false, + "config" : { } + } ], + "defaultClientScopes" : [ "web-origins", "roles", "profile", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "fc822406-6dbc-4333-9e34-8f65eaeadbe1", + "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", "roles", "profile", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "1a427460-6954-4f38-8029-e7d08a31174d", + "clientId" : "angular-frontend", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ "http://localhost:4200/*" ], + "webOrigins" : [ "+" ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : true, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "id.token.as.detached.signature" : "false", + "saml.assertion.signature" : "false", + "saml.force.post.binding" : "false", + "saml.multivalued.roles" : "false", + "saml.encrypt" : "false", + "oauth2.device.authorization.grant.enabled" : "false", + "backchannel.logout.revoke.offline.tokens" : "false", + "saml.server.signature" : "false", + "saml.server.signature.keyinfo.ext" : "false", + "use.refresh.tokens" : "true", + "exclude.session.state.from.auth.response" : "false", + "oidc.ciba.grant.enabled" : "false", + "saml.artifact.binding" : "false", + "backchannel.logout.session.required" : "true", + "client_credentials.use_refresh_token" : "false", + "saml_force_name_id_format" : "false", + "require.pushed.authorization.requests" : "false", + "saml.client.signature" : "false", + "tls.client.certificate.bound.access.tokens" : "false", + "saml.authnstatement" : "false", + "display.on.consent.screen" : "false", + "saml.onetimeuse.condition" : "false" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : true, + "nodeReRegistrationTimeout" : -1, + "protocolMappers" : [ { + "id" : "01b019a4-7f44-4cfd-99a0-367318da6174", + "name" : "default-roles-mapper", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-realm-role-mapper", + "consentRequired" : false, + "config" : { + "multivalued" : "true", + "userinfo.token.claim" : "true", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "default_roles", + "jsonType.label" : "String" + } + } ], + "defaultClientScopes" : [ "web-origins", "roles", "profile", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "4ab5dce7-e7ac-4e1f-8336-738c9dc3dc00", + "clientId" : "app-client", + "baseUrl" : "http://localhost:4200", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "secret" : "0a32b2ad-7b58-4c5b-bffe-7d3673fe70a3", + "redirectUris" : [ "http://localhost:4200/*" ], + "webOrigins" : [ "*" ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : true, + "serviceAccountsEnabled" : true, + "authorizationServicesEnabled" : true, + "publicClient" : false, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "id.token.as.detached.signature" : "false", + "saml.assertion.signature" : "false", + "saml.force.post.binding" : "false", + "saml.multivalued.roles" : "false", + "saml.encrypt" : "false", + "oauth2.device.authorization.grant.enabled" : "false", + "backchannel.logout.revoke.offline.tokens" : "false", + "saml.server.signature" : "false", + "saml.server.signature.keyinfo.ext" : "false", + "use.refresh.tokens" : "true", + "exclude.session.state.from.auth.response" : "false", + "oidc.ciba.grant.enabled" : "false", + "saml.artifact.binding" : "false", + "backchannel.logout.session.required" : "true", + "client_credentials.use_refresh_token" : "false", + "saml_force_name_id_format" : "false", + "require.pushed.authorization.requests" : "false", + "saml.client.signature" : "false", + "tls.client.certificate.bound.access.tokens" : "false", + "saml.authnstatement" : "false", + "display.on.consent.screen" : "false", + "saml.onetimeuse.condition" : "false" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : true, + "nodeReRegistrationTimeout" : -1, + "protocolMappers" : [ { + "id" : "2a216800-9cfb-41b8-9761-260d59dc483a", + "name" : "Client IP Address", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usersessionmodel-note-mapper", + "consentRequired" : false, + "config" : { + "user.session.note" : "clientAddress", + "userinfo.token.claim" : "true", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "clientAddress", + "jsonType.label" : "String" + } + }, { + "id" : "d0d0853b-c62f-4b82-921d-9103fb70c852", + "name" : "Client Host", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usersessionmodel-note-mapper", + "consentRequired" : false, + "config" : { + "user.session.note" : "clientHost", + "userinfo.token.claim" : "true", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "clientHost", + "jsonType.label" : "String" + } + }, { + "id" : "780426d6-0157-4362-9450-c34a5abb9ef3", + "name" : "Client ID", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usersessionmodel-note-mapper", + "consentRequired" : false, + "config" : { + "user.session.note" : "clientId", + "userinfo.token.claim" : "true", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "clientId", + "jsonType.label" : "String" + } + } ], + "defaultClientScopes" : [ "web-origins", "roles", "profile", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ], + "authorizationSettings" : { + "allowRemoteResourceManagement" : true, + "policyEnforcementMode" : "ENFORCING", + "resources" : [ { + "name" : "res:accounts", + "ownerManagedAccess" : false, + "attributes" : { }, + "_id" : "c353cbb2-3460-4852-953f-605ab5c3a4be", + "uris" : [ "/accounts" ], + "scopes" : [ { + "name" : "scopes:viewall" + } ] + }, { + "name" : "res:account", + "ownerManagedAccess" : false, + "attributes" : { }, + "_id" : "dcf3dbb7-3adf-4925-9a8c-853b420703ab", + "uris" : [ "/account/{id}", "/account", "/account/enable/{id}", "/account/disable/{id}" ], + "scopes" : [ { + "name" : "scopes:view" + }, { + "name" : "scopes:delete" + }, { + "name" : "scopes:create" + }, { + "name" : "scopes:nogo" + }, { + "name" : "scopes:manage" + } ] + }, { + "name" : "Default Resource", + "type" : "urn:app-client:resources:default", + "ownerManagedAccess" : false, + "attributes" : { }, + "_id" : "4027b953-2868-499d-9d8c-b133badb96d6", + "uris" : [ "/*" ] + } ], + "policies" : [ { + "id" : "8843ffc6-d01b-4203-8e58-c9c00e66e283", + "name" : "admin_policy", + "description" : "For Admins Only - rbac_admin_role is required for this policy", + "type" : "role", + "logic" : "POSITIVE", + "decisionStrategy" : "UNANIMOUS", + "config" : { + "roles" : "[{\"id\":\"rbac_admin_role\",\"required\":true}]" + } + }, { + "id" : "ae1c8dda-b476-4c97-b316-ceac3201f3cb", + "name" : "agent_policy", + "description" : "For Agents ONLY - rbac_agent_role is required", + "type" : "role", + "logic" : "POSITIVE", + "decisionStrategy" : "UNANIMOUS", + "config" : { + "roles" : "[{\"id\":\"rbac_agent_role\",\"required\":true}]" + } + }, { + "id" : "bfde5c59-1b41-4fbe-8e19-00182eb3e89a", + "name" : "superadmin_policy", + "description" : "For Superadmins Only - rbac_supertadmin_role is required for this policy", + "type" : "role", + "logic" : "POSITIVE", + "decisionStrategy" : "UNANIMOUS", + "config" : { + "roles" : "[{\"id\":\"rbac_admin_role\",\"required\":false},{\"id\":\"rbac_superadmin_role\",\"required\":true}]" + } + }, { + "id" : "f819cb85-4fe7-4036-b1cc-9b90097de9ee", + "name" : "manage_account_perm", + "type" : "scope", + "logic" : "POSITIVE", + "decisionStrategy" : "UNANIMOUS", + "config" : { + "resources" : "[\"res:account\"]", + "scopes" : "[\"scopes:manage\",\"scopes:create\",\"scopes:view\"]", + "applyPolicies" : "[\"admin_policy\"]" + } + }, { + "id" : "79b2e75b-9a84-4e86-97f4-86b870b53ea7", + "name" : "view_accounts_perm", + "description" : "Permission to view all Realm Accounts", + "type" : "scope", + "logic" : "POSITIVE", + "decisionStrategy" : "UNANIMOUS", + "config" : { + "resources" : "[\"res:accounts\"]", + "scopes" : "[\"scopes:viewall\"]", + "applyPolicies" : "[\"agent_policy\"]" + } + }, { + "id" : "18fb959d-701e-4bdf-9e9f-d9d4ea8b3b31", + "name" : "view_account_perm", + "description" : "View a single Account", + "type" : "scope", + "logic" : "POSITIVE", + "decisionStrategy" : "UNANIMOUS", + "config" : { + "resources" : "[\"res:account\"]", + "scopes" : "[\"scopes:view\"]", + "applyPolicies" : "[\"agent_policy\"]" + } + }, { + "id" : "b8a2b520-ca2e-472e-ad18-fb8d5eba260b", + "name" : "delete_account_perm", + "description" : "Permission to delete Accounts", + "type" : "scope", + "logic" : "POSITIVE", + "decisionStrategy" : "UNANIMOUS", + "config" : { + "resources" : "[\"res:account\"]", + "scopes" : "[\"scopes:delete\"]", + "applyPolicies" : "[\"superadmin_policy\"]" + } + } ], + "scopes" : [ { + "id" : "4aaffa90-bbb7-4164-bfa4-5aada4e62617", + "name" : "scopes:create" + }, { + "id" : "254268b4-674e-4760-a0c3-9616e7c59c40", + "name" : "scopes:view" + }, { + "id" : "0d203e2c-c31b-4a59-a3a8-c7082b374e9f", + "name" : "scopes:delete" + }, { + "id" : "332e98d0-6081-4233-98d7-e151c857c279", + "name" : "scopes:nogo" + }, { + "id" : "64d5fdce-e1d4-403f-9f04-78692927bd8e", + "name" : "scopes:viewAllAccounts" + }, { + "id" : "bb6a0e22-ba69-4d5f-ac33-2aad41c8a6c4", + "name" : "scopes:viewall" + }, { + "id" : "4d02177a-7af4-4bad-9bae-de1a86c2840a", + "name" : "scopes:manage" + } ], + "decisionStrategy" : "AFFIRMATIVE" + } + }, { + "id" : "400bc977-7c6c-45a5-aa2e-b465851edabf", + "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", "roles", "profile", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "9e4b1da6-f197-4d3c-a093-18580c75c092", + "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", "roles", "profile", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "9cc4b133-10af-42b3-b89d-a3cbe00b40b3", + "clientId" : "security-admin-console", + "name" : "${client_security-admin-console}", + "rootUrl" : "${authAdminUrl}", + "baseUrl" : "/admin/RBAC/console/", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ "/admin/RBAC/console/*" ], + "webOrigins" : [ "+" ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "pkce.code.challenge.method" : "S256" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "7c9e7d97-dd0d-4d89-8b65-44f0d34a611a", + "name" : "locale", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "locale", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "locale", + "jsonType.label" : "String" + } + } ], + "defaultClientScopes" : [ "web-origins", "roles", "profile", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + } ], + "clientScopes" : [ { + "id" : "4b17f046-6fa6-4819-a28a-479b2faac838", + "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" : "351f0f53-0ca9-46e4-a939-482f894ef454", + "name" : "acr loa level", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-acr-mapper", + "consentRequired" : false, + "config" : { + "id.token.claim" : "true", + "access.token.claim" : "true", + "userinfo.token.claim" : "true" + } + } ] + }, { + "id" : "b2afec67-6c79-40ce-8eac-840622ce6f6b", + "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" : "40f97642-a548-4940-8d09-4e793e6ebf00", + "name" : "email verified", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "emailVerified", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email_verified", + "jsonType.label" : "boolean" + } + }, { + "id" : "7256d527-f96f-44c2-9142-a3f6a96d77da", + "name" : "email", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "email", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email", + "jsonType.label" : "String" + } + } ] + }, { + "id" : "82cc7b82-b9ff-4258-846b-30b6ed1ce175", + "name" : "role_list", + "description" : "SAML role list", + "protocol" : "saml", + "attributes" : { + "consent.screen.text" : "${samlRoleListScopeConsentText}", + "display.on.consent.screen" : "true" + }, + "protocolMappers" : [ { + "id" : "c83f9a01-ee32-40fb-9854-53d8da44344c", + "name" : "role list", + "protocol" : "saml", + "protocolMapper" : "saml-role-list-mapper", + "consentRequired" : false, + "config" : { + "single" : "false", + "attribute.nameformat" : "Basic", + "attribute.name" : "Role" + } + } ] + }, { + "id" : "6dc4799b-dc84-46bf-867e-ac096d217e4f", + "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" : "d471a706-e3f1-4b8a-9c19-ee0880ca9248", + "name" : "address", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-address-mapper", + "consentRequired" : false, + "config" : { + "user.attribute.formatted" : "formatted", + "user.attribute.country" : "country", + "user.attribute.postal_code" : "postal_code", + "userinfo.token.claim" : "true", + "user.attribute.street" : "street", + "id.token.claim" : "true", + "user.attribute.region" : "region", + "access.token.claim" : "true", + "user.attribute.locality" : "locality" + } + } ] + }, { + "id" : "4396ad4e-42bc-4f29-8be1-69479b4c84cb", + "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" : "58ff44e5-8a92-4f09-a31c-9cf71de03c15", + "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" : "5f95f201-76cc-4c29-a137-597f4d8c68ff", + "name" : "upn", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "upn", + "jsonType.label" : "String" + } + }, { + "id" : "ce410fc2-26c8-4549-acb1-9f0bc85870c7", + "name" : "groups", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-realm-role-mapper", + "consentRequired" : false, + "config" : { + "multivalued" : "true", + "userinfo.token.claim" : "true", + "user.attribute" : "foo", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "groups", + "jsonType.label" : "String" + } + } ] + }, { + "id" : "5b9b8da1-078e-464f-94ba-550ed7fce6c9", + "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" : "29359870-87c0-473c-8c52-475488f09d8f", + "name" : "client roles", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-client-role-mapper", + "consentRequired" : false, + "config" : { + "user.attribute" : "foo", + "access.token.claim" : "true", + "claim.name" : "resource_access.${client_id}.roles", + "jsonType.label" : "String", + "multivalued" : "true" + } + }, { + "id" : "9ad8eeee-42dc-4959-8ae2-c6ec1717ee0b", + "name" : "audience resolve", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-audience-resolve-mapper", + "consentRequired" : false, + "config" : { } + }, { + "id" : "a4322b6a-5581-462c-9e38-b04855dde3fe", + "name" : "realm roles", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-realm-role-mapper", + "consentRequired" : false, + "config" : { + "user.attribute" : "foo", + "access.token.claim" : "true", + "claim.name" : "realm_access.roles", + "jsonType.label" : "String", + "multivalued" : "true" + } + } ] + }, { + "id" : "8776f1a3-7240-4285-acc5-f24dd23a7dc2", + "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" : "a822d932-3921-4613-9510-dfeb39484266", + "name" : "allowed web origins", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-allowed-origins-mapper", + "consentRequired" : false, + "config" : { } + } ] + }, { + "id" : "1fb6a299-1854-468d-9ec9-dbfe8a4d2318", + "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" : "5567801b-5262-4208-a280-e5f02575348b", + "name" : "full name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-full-name-mapper", + "consentRequired" : false, + "config" : { + "id.token.claim" : "true", + "access.token.claim" : "true", + "userinfo.token.claim" : "true" + } + }, { + "id" : "618baa5e-71e4-4d1f-9073-34714382bd18", + "name" : "website", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "website", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "website", + "jsonType.label" : "String" + } + }, { + "id" : "605e024d-ce0e-4bf4-8536-82ea4499f3f1", + "name" : "middle name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "middleName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "middle_name", + "jsonType.label" : "String" + } + }, { + "id" : "28e8a386-6058-4ba2-85fe-72c34558ad6d", + "name" : "nickname", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "nickname", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "nickname", + "jsonType.label" : "String" + } + }, { + "id" : "e41ace96-aff3-44d4-ab58-bb04edba13fe", + "name" : "username", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "preferred_username", + "jsonType.label" : "String" + } + }, { + "id" : "42b8752e-465c-486f-9ab0-1dd39cf4f36e", + "name" : "updated at", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "updatedAt", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "updated_at", + "jsonType.label" : "String" + } + }, { + "id" : "ca641072-4750-4c6d-807d-0c6490a85d20", + "name" : "given name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "firstName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "given_name", + "jsonType.label" : "String" + } + }, { + "id" : "edbdaee5-6038-407d-aa4f-df06340dbbc7", + "name" : "locale", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "locale", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "locale", + "jsonType.label" : "String" + } + }, { + "id" : "dcb3d8bb-148e-433c-84af-4111d6530006", + "name" : "birthdate", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "birthdate", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "birthdate", + "jsonType.label" : "String" + } + }, { + "id" : "0585da16-d517-47b6-9ce5-cd3d46c44fb3", + "name" : "zoneinfo", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "zoneinfo", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "zoneinfo", + "jsonType.label" : "String" + } + }, { + "id" : "a4084e88-e798-4162-9788-b38c69bacf01", + "name" : "profile", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "profile", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "profile", + "jsonType.label" : "String" + } + }, { + "id" : "3a3c7a87-54b7-46ce-92f0-193ce4f1affb", + "name" : "gender", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "gender", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "gender", + "jsonType.label" : "String" + } + }, { + "id" : "b6d1e381-4219-454a-9480-9b7a8c185f75", + "name" : "picture", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "picture", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "picture", + "jsonType.label" : "String" + } + }, { + "id" : "1c06514f-f9e9-420e-a984-657282add08b", + "name" : "family name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "lastName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "family_name", + "jsonType.label" : "String" + } + } ] + }, { + "id" : "8803c673-059d-43f7-b8cd-a61baade88c9", + "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" : "d4b29093-b4d1-49d4-86cb-718cba861733", + "name" : "phone number verified", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "phoneNumberVerified", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "phone_number_verified", + "jsonType.label" : "boolean" + } + }, { + "id" : "195de5d6-b48b-46ad-8fb8-ccb6bf099389", + "name" : "phone number", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "phoneNumber", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "phone_number", + "jsonType.label" : "String" + } + } ] + } ], + "defaultDefaultClientScopes" : [ "profile", "roles", "role_list", "web-origins", "email", "acr" ], + "defaultOptionalClientScopes" : [ "offline_access", "microprofile-jwt", "address", "phone" ], + "browserSecurityHeaders" : { + "contentSecurityPolicyReportOnly" : "", + "xContentTypeOptions" : "nosniff", + "xRobotsTag" : "none", + "xFrameOptions" : "SAMEORIGIN", + "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';", + "xXSSProtection" : "1; mode=block", + "strictTransportSecurity" : "max-age=31536000; includeSubDomains" + }, + "smtpServer" : { + "password" : "njinbncwnttbwkaj", + "starttls" : "", + "auth" : "true", + "port" : "465", + "host" : "smtp.gmail.com", + "from" : "helmut.hutzler@gmail.com", + "fromDisplayName" : "Keycloak-RBAC-Realm", + "ssl" : "true", + "user" : "helmut.hutzler" + }, + "eventsEnabled" : false, + "eventsListeners" : [ "jboss-logging" ], + "enabledEventTypes" : [ ], + "adminEventsEnabled" : false, + "adminEventsDetailsEnabled" : false, + "identityProviders" : [ { + "alias" : "google", + "internalId" : "484a4c91-2b6c-4747-b03f-f04205dbaa59", + "providerId" : "google", + "enabled" : true, + "updateProfileFirstLoginMode" : "on", + "trustEmail" : false, + "storeToken" : false, + "addReadTokenRoleOnCreate" : false, + "authenticateByDefault" : false, + "linkOnly" : false, + "firstBrokerLoginFlowAlias" : "first broker login", + "config" : { + "syncMode" : "IMPORT", + "clientSecret" : "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", + "clientId" : "361534637475-b1n5l7qf6b4ejcmhgmj3pcfddt5uq63r.apps.googleusercontent.com", + "useJwksUrl" : "true" + } + } ], + "identityProviderMappers" : [ ], + "components" : { + "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ { + "id" : "3bd7ac17-aa4d-4b06-b188-3c359b59f34f", + "name" : "Trusted Hosts", + "providerId" : "trusted-hosts", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { + "host-sending-registration-request-must-match" : [ "true" ], + "client-uris-must-match" : [ "true" ] + } + }, { + "id" : "44891f86-d593-4e3f-a9ac-52c5add433f0", + "name" : "Consent Required", + "providerId" : "consent-required", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { } + }, { + "id" : "636ea0ca-a9d2-4c80-8039-80953dedc04e", + "name" : "Allowed Client Scopes", + "providerId" : "allowed-client-templates", + "subType" : "authenticated", + "subComponents" : { }, + "config" : { + "allow-default-scopes" : [ "true" ] + } + }, { + "id" : "b6c3d8b7-e35f-4a70-8410-6cacba354c84", + "name" : "Allowed Client Scopes", + "providerId" : "allowed-client-templates", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { + "allow-default-scopes" : [ "true" ] + } + }, { + "id" : "8552923e-d766-4a17-8946-4082d4b0cc14", + "name" : "Allowed Protocol Mapper Types", + "providerId" : "allowed-protocol-mappers", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { + "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-attribute-mapper", "saml-user-attribute-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-usermodel-property-mapper", "saml-user-property-mapper" ] + } + }, { + "id" : "376a316e-e09c-4afb-b75d-d48c3e1a1af3", + "name" : "Max Clients Limit", + "providerId" : "max-clients", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { + "max-clients" : [ "200" ] + } + }, { + "id" : "ab35d317-ff12-4819-b187-c43914c4c558", + "name" : "Full Scope Disabled", + "providerId" : "scope", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { } + }, { + "id" : "31fd4c89-e603-4dba-97c7-5dce1f1c0de7", + "name" : "Allowed Protocol Mapper Types", + "providerId" : "allowed-protocol-mappers", + "subType" : "authenticated", + "subComponents" : { }, + "config" : { + "allowed-protocol-mapper-types" : [ "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-property-mapper", "saml-role-list-mapper", "oidc-full-name-mapper", "saml-user-attribute-mapper", "oidc-address-mapper", "oidc-usermodel-attribute-mapper" ] + } + } ], + "org.keycloak.userprofile.UserProfileProvider" : [ { + "id" : "2ed13baa-96b5-4599-8a21-a575df6c4dd8", + "providerId" : "declarative-user-profile", + "subComponents" : { }, + "config" : { } + } ], + "org.keycloak.keys.KeyProvider" : [ { + "id" : "f23405ba-0ca1-4ae0-9c83-7a2478be5283", + "name" : "rsa-generated", + "providerId" : "rsa-generated", + "subComponents" : { }, + "config" : { + "privateKey" : [ "MIIEpAIBAAKCAQEAhZvZ8iT0DaiTGiNS83UE3MSMC9DkUFbNdsTEBAY/GSq0KstQSx/4TSpgJTAi6s8XiZqmT90a4DrXXx3Ph0lVgNIrwmCMGb+jFc+MXbSV5luSnnWefi2L8Tf+Sz/xNdpyPsklwhXAMKQiEMfaUXl+T3TYQwlahUN/4Ca7FkABUSBjnYfnoC4j6Eew/LMpfF/a/gEg3DkF3krJQhb+56rEXh0S4fOdlEMwAbEsIlsdEtiInBugKrCm06OakMtoJZUZAr7M9kWIkn2qNwks4bhJv8WPWZXLmwOFb3gJ1On/A/Vu5FjGgbQKOFgkcCMRh/+jjAlKhW113RJxVnTBJVHbFQIDAQABAoIBAFfhFM9CIwxAztCoX00msNYMqRi0gxecoHP4I/2JpkMFZY+oPt3K32TR9H9BVBYhtJebkryA78aArVwwnWmcgJLEqmelXUEqXThhVS/lMZtcq+lx75eKmbtFWwtfuWX0kqRdZWptKAZWTtm+ughQ4xWcAwrEwjdZGGj00KVn3/XdZb1qrHqENsbGupnZzIe7Fooq/Da+7AvnLzBw8VE3Mio/n1Z6vdfQrtniKLUuOmvedmnic9nBQedFhBjLU2H41SXX5nUbNfl7940FFjMrwL77XNJA08O2HWQiRC29Ua1A1iiFeab4lq/ZtGfhESPHx00O18nchttcGBMtsq7sPRkCgYEAyVG6hlaOo6aug9ofBY5gQ33AtbCaSRI6aBQHBdy1AtUfm+kGQW73CwvCewC+mL8Un3e5sPsSbZBwdOOnUygcCc1juwipeiliEm5jqyTm2wpfJNcTzRuxNNFmG7hPhLOPn65iS93yNUafzZrYEJa0JCcHbEyM9uk82gmI7NHoZfMCgYEAqeYIHakpwvemlwVzwm2vmAo2woI5uY+94eysxZBeAp3G/v7CN94uuzLDkobBnQIsEIbIvMOSa1XyPUN6+ml5utNDdJQNwUvjlVrYZT3PZuB3y1bMybKiR+jdraO6IqQxGYV/f8eymEIqVv10YSijt/+qepN0UksC0BF8j1kt1NcCgYEAvdohOQbvxU0vTpCoqKi4B23UCoPdPAPAqN4aMWEOIvmxsWpzx8lJmFUitrThCVNJs4lIyKo9mq2YH+OArF8q8eOLpZppmRblsdQAkilevDpvt2JM/iSbXOAMlx+dfduIGmJtuHY6MBvGIDNih2JXx7A2w979IOybwlMzmYHq1BkCgYAtZ+/lVW92zs7z754XaU8TeC9YXotk31ilB6bJCiNF2br0LUvkuHmOyCtifqdB+fGi3RLK+A2qqAacfutf/05sMsgFYQgoD8scAHJy5EkIupbpfiIvCZG7XC3amTZGydDhfD8t/EXr0UsVgplW2hCfPTHnnn7o+2keCH5cpT3NcwKBgQCCGVrHvE8YDg95ix+2l+ymF16xPYmo3pabHq2W4Wlyvv3vkOwuz0IpWXVfi7IWzxlWPU7xrQBunSanF2BsBIg9WBlZiA7+X5WLOB5Gj2ou26UrGo5M7UP3wnpjxlOtQ4ZJ/3TXytmzNrNfxQuAOxgQAiOxYZP5jf49T65sfDVhrw==" ], + "keyUse" : [ "sig" ], + "certificate" : [ "MIIClzCCAX8CBgF+nE45ODANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARSQkFDMB4XDTIyMDEyNzE2MDkzOVoXDTMyMDEyNzE2MTExOVowDzENMAsGA1UEAwwEUkJBQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIWb2fIk9A2okxojUvN1BNzEjAvQ5FBWzXbExAQGPxkqtCrLUEsf+E0qYCUwIurPF4mapk/dGuA6118dz4dJVYDSK8JgjBm/oxXPjF20leZbkp51nn4ti/E3/ks/8TXacj7JJcIVwDCkIhDH2lF5fk902EMJWoVDf+AmuxZAAVEgY52H56AuI+hHsPyzKXxf2v4BINw5Bd5KyUIW/ueqxF4dEuHznZRDMAGxLCJbHRLYiJwboCqwptOjmpDLaCWVGQK+zPZFiJJ9qjcJLOG4Sb/Fj1mVy5sDhW94CdTp/wP1buRYxoG0CjhYJHAjEYf/o4wJSoVtdd0ScVZ0wSVR2xUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgoXsoCTACKNiCde2RGO4kd8DFhDrduTscm3AfpyQ7tQ7s34/7l64y7TKmnM0Qc6YEUFXEFY3b+q+CBlQLXYhfwxDe+FU3vut4lGn3R7XfipcC9dLoPOQy9tWR8vfFCrVR98O1k5d+b5H4wyMcgrX/2TunLuuN6OFauYHrFxPje4LdN7+/DzMy89lycmnWp+4PPwyLikbTbYw1HIu03U91vYWdstCBt8fStgzbW0IAQDUtPmqjwSFNmegzH0S6uEKb3nZMdVl8HEI1qiZh+46oX3tsQYFZu+xCHnzqehwX8r0z3k/zuYXa9n4fI2VbI/a85SrEHpYl6NeoyqoDuPMbg==" ], + "priority" : [ "100" ] + } + }, { + "id" : "e4db5ddf-bec2-4e2f-99ee-77bc86b26371", + "name" : "rsa-enc-generated", + "providerId" : "rsa-generated", + "subComponents" : { }, + "config" : { + "privateKey" : [ "MIIEoQIBAAKCAQEAxMcqwVXrqxAZgpNhH7moFHmzEcpCdL2m5nKlAJCIdUPf76VEkxZIrqxffJ8ke3+b6PJB5mIMFAiZ196WdrImwzi5IAB+7GZ2iVKaTwYZ2TyzRVTlzsCYGNkw44g+SAsCnY/jHtt302e5l6peJN6Wt54dqT8avC8xBYmK4WgMOkUQaCfilcApTvK4r1/BlWp8x3fFi98Ggpdu3+4D0HMMlaaGEb1P0awrYip/IXQR18aEcUhsbr0cuwtDUHiZZMy/bD/5HmEPo0gTQTwHJ9EtPsmE46OBfMzaBjNPANf2IzYDqPEv7kqCMemZ7L5JC/nDUO7jExfscUGK0GAvbd65jwIDAQABAoH/dZqS8vlm39W/aUqrwUo0KgiR/Q/kp+Cw3wmlk7DN3UezjoY3dbDbv4lFiDWUmDqr84zV1drDXTXGvD1Lr6TJheNgwL+LG74hGfFER/ZdfHfKrKUQs4BnZnJnxZSnpGbwKTrVgpuoAbD8OqiXm3FsolDdaUlNsSqDIcwSNKT6qdeQp3rE3tVvVOIvqfSUBZiqOi4wlWroRuFnYfyoayQ7IF4EI8dcMZiyr9a8ppZ87zYP3tPkEjZ46iaNoZSesPEEMrgY7VQR29pSc2TakSHgqCzFwUrUk039D0EjiXt6uy6/pY/oWr6ooO13P29YUl1FR1y+weWtnWOdIYqUOq/hAoGBAOO9pILN32momn5cbm28s2ysg8bjp/hKQhfNsqGTCu+B1bv1FTpmOLubPvecvUn8bfLmQyXbMwS3HUAYoH3yAgcYiLmBSUCV87xPP0qqpvsKP279elEsn0NmAkyI6TEFGEAlWIXtGwYiY2QvNPZ+UlwOL1aEbxBSNA4BfyzaqYsfAoGBAN0x98pHtLwG24tlHGz7j24ZieKbfIIupjAlqBLrwWE6+LUvZ6phe/vaGauCf1U0h2yYlz5hK3wxvLTxWIYUJzxGxdAZ3uzbQ04SQNP6raKpk2gA0uA4hv9tlr43T8nHrNs5dJlpgXMR48BSnhUNTbuEnguFOAbElk7C6DAiqHORAoGACdg70U+29alNLGMwftvmYa8/bwyOSURkgQTqUOO7WEkjhSF+Dm02zJ1UZn3HDPi1hAeCJZPJK84CnK+z2F3qyoW7+1Dkar9QrvY6BS9FUprJzTF15SZpqA8z0D0m33CZ8MPshLWQMn6wDzefMXyacNJIJ5RH/Mug5m4YIkc9hv8CgYBkGI2SWxqdj9jf3rSbWMdSQnpUMpqIasXHufKyBT+wWThc/YPC5XRuxwagx2AJ1ciGyxJ+Jwi/nd5QX3r4ybvrmfdAMcTgmGR/uuDdTG4w0t4izWSgFNR6WERD9dHEdPhzCDAMkGMFCI5w5LImwqtvdRb0DagJ4AJIyAi8Z6KlEQKBgQCmTH7/cUpqbLqCXrbF65fi3tJOKR5ofX32M2ACFPK5f1PcNds8ER+GeqxLDcGclDmzflIezW1as7eJDbTvdsq9BIX9zRvnZuZVY9g9udeZJMIAAdFGyCccYsJ21vXSzvbUTFJ56Q0uAiLVDEdUx3Nupl8ScFfMxNSF5Il8OsFIxw==" ], + "keyUse" : [ "enc" ], + "certificate" : [ "MIIClzCCAX8CBgF+nE45nDANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARSQkFDMB4XDTIyMDEyNzE2MDkzOVoXDTMyMDEyNzE2MTExOVowDzENMAsGA1UEAwwEUkJBQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMTHKsFV66sQGYKTYR+5qBR5sxHKQnS9puZypQCQiHVD3++lRJMWSK6sX3yfJHt/m+jyQeZiDBQImdfelnayJsM4uSAAfuxmdolSmk8GGdk8s0VU5c7AmBjZMOOIPkgLAp2P4x7bd9NnuZeqXiTelreeHak/GrwvMQWJiuFoDDpFEGgn4pXAKU7yuK9fwZVqfMd3xYvfBoKXbt/uA9BzDJWmhhG9T9GsK2IqfyF0EdfGhHFIbG69HLsLQ1B4mWTMv2w/+R5hD6NIE0E8ByfRLT7JhOOjgXzM2gYzTwDX9iM2A6jxL+5KgjHpmey+SQv5w1Du4xMX7HFBitBgL23euY8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAS2vbozy8y5hzwwquADG/apje7ar7N5HFK0oX2FbNtFfKBC83UU9oSIi64NuSPhGeLpfAlOVjpw60xfUPb9w0P5Vb6QgSJnY8y+s3WvZdf1pWstQ8IS35gaGlKWLowL8tHZUBPVCDuFiTmyCjCn/xIp6MDJSs9pi94Rh1yykGcHV9KF1sYzX3XKpC4zw+/XWVmS0uVjh2QzgiU9LAZtOYgqOJSzg6Zjs6KoAY6XuflxkM/aNb+6i5iBkMyz615lmkWTrJ6AjuLC3hGmfOXxt2xSgomSDeV4pVRULQVtBinZ3POy58sGorfE07N5ZFgTSDQMPgo1Zs177OzQUzaw9VCg==" ], + "priority" : [ "100" ] + } + }, { + "id" : "664dc2cb-ffce-47c6-a3c8-3858f3bf9cfe", + "name" : "aes-generated", + "providerId" : "aes-generated", + "subComponents" : { }, + "config" : { + "kid" : [ "492c57ce-dd30-446c-83bc-3f8549ebd186" ], + "secret" : [ "3oe1YmHo5sCbUhtH4KzN5w" ], + "priority" : [ "100" ] + } + }, { + "id" : "17865e01-ca4f-4df5-96da-de6d238e108d", + "name" : "hmac-generated", + "providerId" : "hmac-generated", + "subComponents" : { }, + "config" : { + "kid" : [ "780922b4-3f19-43f7-b0d3-775121bee15a" ], + "secret" : [ "3i3V2wkInB4PqCG2kQtfozlohGzLc0mHo-8g8mF49SyP6EFADx4L1mlUNgylHXufU67OasxX5cVpYX0nmIwiZg" ], + "priority" : [ "100" ], + "algorithm" : [ "HS256" ] + } + } ] + }, + "internationalizationEnabled" : false, + "supportedLocales" : [ ], + "authenticationFlows" : [ { + "id" : "f7a0829c-84d1-4f5d-891b-438ff6b100cf", + "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" : "2c04930e-51db-435f-b359-81d8a8d998b3", + "alias" : "Authentication Options", + "description" : "Authentication options.", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "basic-auth", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "basic-auth-otp", + "authenticatorFlow" : false, + "requirement" : "DISABLED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "auth-spnego", + "authenticatorFlow" : false, + "requirement" : "DISABLED", + "priority" : 30, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "fb8ac2a4-2a67-4369-b5ba-862ba363c582", + "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" : "a385b148-84c7-49c6-90c8-976935908a8e", + "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" : "51879e4a-7597-4736-b484-ac6c1fbed64a", + "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" : "33794774-51b4-4794-af28-41368499a7f1", + "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" : "9ec82261-37db-4b1c-a7c5-aa499a9f1391", + "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" : "4f1e0bd6-0b2e-42c4-9d70-0f4a3673b066", + "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" : "0ec96170-56fc-450e-b00d-30836f5133a9", + "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" : "67b8f5d0-a22b-4991-8987-3ed49242c9e3", + "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" : "23c77dba-808f-4030-b3b7-7bd3597a513a", + "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" : "e26d8ff3-c2fb-4dd0-aa26-a9f87a00c2c9", + "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" : "3cee69a0-70c3-4bf9-966b-ee61e99910a3", + "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" : "b4e626d0-44d6-427e-b4e2-7c58a0578d7c", + "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" : "a55542b2-9506-42aa-8562-4c5d6fa37df8", + "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" : "dbf57890-d4ce-493c-a5b2-85ee89712f8f", + "alias" : "http challenge", + "description" : "An authentication flow based on challenge-response HTTP Authentication Schemes", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "no-cookie-redirect", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : true, + "flowAlias" : "Authentication Options", + "userSetupAllowed" : false + } ] + }, { + "id" : "c00e7d9c-4805-4309-a6b1-da1e22f1762d", + "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" : "2146fd4c-eb77-4adb-bb83-33657441ddd9", + "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-profile-action", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 40, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "registration-password-action", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 50, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "registration-recaptcha-action", + "authenticatorFlow" : false, + "requirement" : "DISABLED", + "priority" : 60, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "ad172e93-d2cc-4a67-99a0-ae743f55accc", + "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" : "7029b8c6-5dc1-4671-8e35-f68d07bc101a", + "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" : "f80f26f6-4a81-4585-912d-ae9d3218b89b", + "alias" : "create unique user config", + "config" : { + "require.password.update.after.registration" : "false" + } + }, { + "id" : "8cc00534-c1d2-4e3e-8b89-99c507be2318", + "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" : true, + "defaultAction" : false, + "priority" : 60, + "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", + "attributes" : { + "cibaBackchannelTokenDeliveryMode" : "poll", + "cibaExpiresIn" : "120", + "cibaAuthRequestedUserHint" : "login_hint", + "oauth2DeviceCodeLifespan" : "600", + "clientOfflineSessionMaxLifespan" : "0", + "oauth2DevicePollingInterval" : "5", + "clientSessionIdleTimeout" : "0", + "userProfileEnabled" : "false", + "parRequestUriLifespan" : "60", + "clientSessionMaxLifespan" : "0", + "clientOfflineSessionIdleTimeout" : "0", + "cibaInterval" : "5" + }, + "keycloakVersion" : "18.0.0", + "userManagedAccessAllowed" : true, + "clientProfiles" : { + "profiles" : [ ] + }, + "clientPolicies" : { + "policies" : [ ] + } +} \ No newline at end of file -- GitLab