Files
nutshell/tests/keycloak_data/keycloak-export/nutshell-realm.json
callebtc a0ef44dba0 Blind authentication (#675)
* auth server

* cleaning up

* auth ledger class

* class variables -> instance variables

* annotations

* add models and api route

* custom amount and api prefix

* add auth db

* blind auth token working

* jwt working

* clean up

* JWT works

* using openid connect server

* use oauth server with password flow

* new realm

* add keycloak docker

* hopefully not garbage

* auth works

* auth kinda working

* fix cli

* auth works for send and receive

* pass auth_db to Wallet

* auth in info

* refactor

* fix supported

* cache mint info

* fix settings and endpoints

* add description to .env.example

* track changes for openid connect client

* store mint in db

* store credentials

* clean up v1_api.py

* load mint info into auth wallet

* fix first login

* authenticate if refresh token fails

* clear auth also middleware

* use regex

* add cli command

* pw works

* persist keyset amounts

* add errors.py

* do not start auth server if disabled in config

* upadte poetry

* disvoery url

* fix test

* support device code flow

* adopt latest spec changes

* fix code flow

* mint max bat dynamic

* mypy ignore

* fix test

* do not serialize amount in authproof

* all auth flows working

* fix tests

* submodule

* refactor

* test

* dont sleep

* test

* add wallet auth tests

* test differently

* test only keycloak for now

* fix creds

* daemon

* fix test

* install everything

* install jinja

* delete wallet for every test

* auth: use global rate limiter

* test auth rate limit

* keycloak hostname

* move keycloak test data

* reactivate all tests

* add readme

* load proofs

* remove unused code

* remove unused code

* implement change suggestions by ok300

* add error codes

* test errors
2025-01-29 22:48:51 -06:00

1903 lines
70 KiB
JSON

{
"id" : "7ce5df4d-de4c-460c-9623-bf036f5e326d",
"realm" : "nutshell",
"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" : true,
"registrationEmailAsUsername" : true,
"rememberMe" : true,
"verifyEmail" : false,
"loginWithEmailAllowed" : true,
"duplicateEmailsAllowed" : false,
"resetPasswordAllowed" : true,
"editUsernameAllowed" : false,
"bruteForceProtected" : false,
"permanentLockout" : false,
"maxTemporaryLockouts" : 0,
"maxFailureWaitSeconds" : 900,
"minimumQuickLoginWaitSeconds" : 60,
"waitIncrementSeconds" : 60,
"quickLoginCheckMilliSeconds" : 1000,
"maxDeltaTimeSeconds" : 43200,
"failureFactor" : 30,
"roles" : {
"realm" : [ {
"id" : "cf15df0b-9cb4-443b-bf6b-ef520ecbac2c",
"name" : "default-roles-nutshell",
"description" : "${role_default-roles}",
"composite" : true,
"composites" : {
"realm" : [ "offline_access", "uma_authorization" ],
"client" : {
"account" : [ "view-profile", "manage-account" ]
}
},
"clientRole" : false,
"containerId" : "7ce5df4d-de4c-460c-9623-bf036f5e326d",
"attributes" : { }
}, {
"id" : "5f3146f9-69e2-4906-8e7d-200a8cc9cf46",
"name" : "offline_access",
"description" : "${role_offline-access}",
"composite" : false,
"clientRole" : false,
"containerId" : "7ce5df4d-de4c-460c-9623-bf036f5e326d",
"attributes" : { }
}, {
"id" : "4b4124b9-3023-4557-8fcb-16937aa4da06",
"name" : "uma_authorization",
"description" : "${role_uma_authorization}",
"composite" : false,
"clientRole" : false,
"containerId" : "7ce5df4d-de4c-460c-9623-bf036f5e326d",
"attributes" : { }
} ],
"client" : {
"realm-management" : [ {
"id" : "c44f22a5-1c57-4404-b450-fb22805345ab",
"name" : "view-events",
"description" : "${role_view-events}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "94ba1856-e4b6-43f7-bc3d-e586a269fa0d",
"name" : "manage-clients",
"description" : "${role_manage-clients}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "101f63ee-c4c2-4bb1-9865-7239199f90ac",
"name" : "query-users",
"description" : "${role_query-users}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "1888f762-fbe4-4d3e-b62c-c0ce597c432d",
"name" : "view-clients",
"description" : "${role_view-clients}",
"composite" : true,
"composites" : {
"client" : {
"realm-management" : [ "query-clients" ]
}
},
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "d9e2c1d1-0704-40d8-b3ed-3bd3bd29605e",
"name" : "query-groups",
"description" : "${role_query-groups}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "7c82add7-89ad-47d3-87f1-dd82f48dee9e",
"name" : "create-client",
"description" : "${role_create-client}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "632cbe8f-d0a6-45b3-913c-76af11603c92",
"name" : "manage-identity-providers",
"description" : "${role_manage-identity-providers}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "82f54d45-4e58-4a61-b0d2-0e0394c83e36",
"name" : "view-authorization",
"description" : "${role_view-authorization}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "63b25859-0fdc-4c59-bae7-967290bed0c9",
"name" : "manage-realm",
"description" : "${role_manage-realm}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "dea2d217-f1c5-43a3-880f-426d3880df78",
"name" : "query-realms",
"description" : "${role_query-realms}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "b165f311-5daa-4db3-a294-db3951235c54",
"name" : "impersonation",
"description" : "${role_impersonation}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "76241cad-4291-4b4a-83bb-c94334dd54dd",
"name" : "manage-events",
"description" : "${role_manage-events}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "f5264002-577b-4ad9-ab9d-a7597709017d",
"name" : "view-realm",
"description" : "${role_view-realm}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "b7d712ed-6589-4f8a-af8c-008ef518747f",
"name" : "query-clients",
"description" : "${role_query-clients}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "081839a0-4fe3-4b3a-9d00-5dca7061b3d4",
"name" : "view-users",
"description" : "${role_view-users}",
"composite" : true,
"composites" : {
"client" : {
"realm-management" : [ "query-users", "query-groups" ]
}
},
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "c9c37fa1-ec54-4615-887d-ec6e149e734a",
"name" : "manage-authorization",
"description" : "${role_manage-authorization}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "aa2a6e1d-2e4b-4a32-a50f-b6d77cca66e6",
"name" : "realm-admin",
"description" : "${role_realm-admin}",
"composite" : true,
"composites" : {
"client" : {
"realm-management" : [ "view-events", "manage-clients", "query-users", "view-clients", "query-groups", "create-client", "manage-identity-providers", "view-authorization", "manage-realm", "query-realms", "impersonation", "view-realm", "manage-events", "view-users", "query-clients", "manage-authorization", "view-identity-providers", "manage-users" ]
}
},
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "45bcb41d-d91a-4a91-beaf-16e51f641e76",
"name" : "view-identity-providers",
"description" : "${role_view-identity-providers}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
}, {
"id" : "d970c875-f5c8-42c1-9d51-ff08066d2d3f",
"name" : "manage-users",
"description" : "${role_manage-users}",
"composite" : false,
"clientRole" : true,
"containerId" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"attributes" : { }
} ],
"security-admin-console" : [ ],
"admin-cli" : [ ],
"account-console" : [ ],
"broker" : [ {
"id" : "b9cd84e5-9fba-4271-833f-b5e255fc94f5",
"name" : "read-token",
"description" : "${role_read-token}",
"composite" : false,
"clientRole" : true,
"containerId" : "4736fd0c-e753-4837-8a6a-74b726caf795",
"attributes" : { }
} ],
"cashu-client" : [ ],
"account" : [ {
"id" : "b752c873-e544-4796-b7ed-9cd59eff5ef8",
"name" : "view-profile",
"description" : "${role_view-profile}",
"composite" : false,
"clientRole" : true,
"containerId" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"attributes" : { }
}, {
"id" : "8c1b6cd8-909c-42d5-9de2-bb8c07bec854",
"name" : "delete-account",
"description" : "${role_delete-account}",
"composite" : false,
"clientRole" : true,
"containerId" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"attributes" : { }
}, {
"id" : "16c8767b-3bb6-4f16-9f6c-1179c37a77c8",
"name" : "manage-consent",
"description" : "${role_manage-consent}",
"composite" : true,
"composites" : {
"client" : {
"account" : [ "view-consent" ]
}
},
"clientRole" : true,
"containerId" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"attributes" : { }
}, {
"id" : "8bd33ad7-3e3b-48f1-ba3d-4ade3cc6f04c",
"name" : "manage-account-links",
"description" : "${role_manage-account-links}",
"composite" : false,
"clientRole" : true,
"containerId" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"attributes" : { }
}, {
"id" : "857a614f-a7ce-49d2-9f2e-6537a9dda21a",
"name" : "view-consent",
"description" : "${role_view-consent}",
"composite" : false,
"clientRole" : true,
"containerId" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"attributes" : { }
}, {
"id" : "062e7546-b48d-41cf-b856-236f70f3cd4f",
"name" : "view-groups",
"description" : "${role_view-groups}",
"composite" : false,
"clientRole" : true,
"containerId" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"attributes" : { }
}, {
"id" : "d3375327-39f2-4eb9-bb3a-6812c3edf08f",
"name" : "view-applications",
"description" : "${role_view-applications}",
"composite" : false,
"clientRole" : true,
"containerId" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"attributes" : { }
}, {
"id" : "47a8218d-3220-4d4d-a894-55e23d7aad8b",
"name" : "manage-account",
"description" : "${role_manage-account}",
"composite" : true,
"composites" : {
"client" : {
"account" : [ "manage-account-links" ]
}
},
"clientRole" : true,
"containerId" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"attributes" : { }
} ]
}
},
"groups" : [ ],
"defaultRole" : {
"id" : "cf15df0b-9cb4-443b-bf6b-ef520ecbac2c",
"name" : "default-roles-nutshell",
"description" : "${role_default-roles}",
"composite" : true,
"clientRole" : false,
"containerId" : "7ce5df4d-de4c-460c-9623-bf036f5e326d"
},
"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" : "8f251366-4a78-4a67-9e1b-1ce337cc5844",
"clientId" : "account",
"name" : "${client_account}",
"rootUrl" : "${authBaseUrl}",
"baseUrl" : "/realms/nutshell/account/",
"surrogateAuthRequired" : false,
"enabled" : true,
"alwaysDisplayInConsole" : false,
"clientAuthenticatorType" : "client-secret",
"redirectUris" : [ "/realms/nutshell/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", "basic", "email" ],
"optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
}, {
"id" : "fb1aaaf7-f061-4704-b61f-5629a8e17f6a",
"clientId" : "account-console",
"name" : "${client_account-console}",
"rootUrl" : "${authBaseUrl}",
"baseUrl" : "/realms/nutshell/account/",
"surrogateAuthRequired" : false,
"enabled" : true,
"alwaysDisplayInConsole" : false,
"clientAuthenticatorType" : "client-secret",
"redirectUris" : [ "/realms/nutshell/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" : "e8904c38-e37d-4c34-aa52-878ae2c6621d",
"name" : "audience resolve",
"protocol" : "openid-connect",
"protocolMapper" : "oidc-audience-resolve-mapper",
"consentRequired" : false,
"config" : { }
} ],
"defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "basic", "email" ],
"optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
}, {
"id" : "57f74364-819b-463f-9070-303f665df62c",
"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", "basic", "email" ],
"optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
}, {
"id" : "4736fd0c-e753-4837-8a6a-74b726caf795",
"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", "basic", "email" ],
"optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
}, {
"id" : "a1059e89-c42f-4604-b014-22cf41ae8854",
"clientId" : "cashu-client",
"name" : "",
"description" : "",
"rootUrl" : "",
"adminUrl" : "",
"baseUrl" : "",
"surrogateAuthRequired" : false,
"enabled" : true,
"alwaysDisplayInConsole" : false,
"clientAuthenticatorType" : "client-secret",
"redirectUris" : [ "*" ],
"webOrigins" : [ "", "*" ],
"notBefore" : 0,
"bearerOnly" : false,
"consentRequired" : false,
"standardFlowEnabled" : true,
"implicitFlowEnabled" : false,
"directAccessGrantsEnabled" : true,
"serviceAccountsEnabled" : false,
"publicClient" : true,
"frontchannelLogout" : true,
"protocol" : "openid-connect",
"attributes" : {
"client.introspection.response.allow.jwt.claim.enabled" : "false",
"oauth2.device.authorization.grant.enabled" : "true",
"logoUri" : "https://avatars.githubusercontent.com/u/114246592",
"access.token.signed.response.alg" : "ES256",
"backchannel.logout.revoke.offline.tokens" : "false",
"use.refresh.tokens" : "true",
"oidc.ciba.grant.enabled" : "false",
"client.use.lightweight.access.token.enabled" : "false",
"id.token.signed.response.alg" : "ES256",
"backchannel.logout.session.required" : "true",
"client_credentials.use_refresh_token" : "false",
"acr.loa.map" : "{}",
"require.pushed.authorization.requests" : "false",
"tls.client.certificate.bound.access.tokens" : "false",
"authorization.signed.response.alg" : "ES256",
"display.on.consent.screen" : "false",
"token.response.type.bearer.lower-case" : "false"
},
"authenticationFlowBindingOverrides" : { },
"fullScopeAllowed" : true,
"nodeReRegistrationTimeout" : -1,
"defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "basic", "email" ],
"optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
}, {
"id" : "b47dc78e-8815-4103-b644-5c8fdd074aae",
"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", "basic", "email" ],
"optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
}, {
"id" : "c189d33f-84f5-4e73-a508-dd174e2f3fde",
"clientId" : "security-admin-console",
"name" : "${client_security-admin-console}",
"rootUrl" : "${authAdminUrl}",
"baseUrl" : "/admin/nutshell/console/",
"surrogateAuthRequired" : false,
"enabled" : true,
"alwaysDisplayInConsole" : false,
"clientAuthenticatorType" : "client-secret",
"redirectUris" : [ "/admin/nutshell/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" : "ca69ba5c-3d32-4c29-882a-c2a4b6b93fdc",
"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", "basic", "email" ],
"optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
} ],
"clientScopes" : [ {
"id" : "5006e7c3-113e-4cc2-a4bb-3460c642dd55",
"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",
"consent.screen.text" : "",
"display.on.consent.screen" : "false"
},
"protocolMappers" : [ {
"id" : "43abf5a8-3a7d-4865-a8be-135c7d1065b3",
"name" : "allowed web origins",
"protocol" : "openid-connect",
"protocolMapper" : "oidc-allowed-origins-mapper",
"consentRequired" : false,
"config" : {
"introspection.token.claim" : "true",
"access.token.claim" : "true"
}
} ]
}, {
"id" : "96e1971c-af62-4292-b3a2-86eb600ba1b4",
"name" : "basic",
"description" : "OpenID Connect scope for add all basic claims to the token",
"protocol" : "openid-connect",
"attributes" : {
"include.in.token.scope" : "false",
"display.on.consent.screen" : "false"
},
"protocolMappers" : [ {
"id" : "de3be070-4e8d-4600-a102-4efe231f026f",
"name" : "auth_time",
"protocol" : "openid-connect",
"protocolMapper" : "oidc-usersessionmodel-note-mapper",
"consentRequired" : false,
"config" : {
"user.session.note" : "AUTH_TIME",
"id.token.claim" : "true",
"introspection.token.claim" : "true",
"access.token.claim" : "true",
"claim.name" : "auth_time",
"jsonType.label" : "long"
}
}, {
"id" : "68e1cc26-feba-4309-84a2-7ffd246ff092",
"name" : "sub",
"protocol" : "openid-connect",
"protocolMapper" : "oidc-sub-mapper",
"consentRequired" : false,
"config" : {
"introspection.token.claim" : "true",
"access.token.claim" : "true"
}
} ]
}, {
"id" : "7c739599-c2ff-40a7-97f3-e2364e5500fa",
"name" : "email",
"description" : "OpenID Connect built-in scope: email",
"protocol" : "openid-connect",
"attributes" : {
"include.in.token.scope" : "true",
"consent.screen.text" : "${emailScopeConsentText}",
"display.on.consent.screen" : "true"
},
"protocolMappers" : [ {
"id" : "6b4acd6e-e0cc-438d-ac64-555f8cc27b1b",
"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" : "69f98c7a-baf5-4970-a229-1dcb8cdd20f0",
"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" : "1d24e6d0-baeb-4eb4-9f52-e0c8e3f3de6a",
"name" : "roles",
"description" : "OpenID Connect scope for add user roles to the access token",
"protocol" : "openid-connect",
"attributes" : {
"include.in.token.scope" : "false",
"consent.screen.text" : "${rolesScopeConsentText}",
"display.on.consent.screen" : "true"
},
"protocolMappers" : [ {
"id" : "d36dafb3-3bc8-4eb3-9908-63ead6b7c6f5",
"name" : "realm roles",
"protocol" : "openid-connect",
"protocolMapper" : "oidc-usermodel-realm-role-mapper",
"consentRequired" : false,
"config" : {
"user.attribute" : "foo",
"introspection.token.claim" : "true",
"access.token.claim" : "true",
"claim.name" : "realm_access.roles",
"jsonType.label" : "String",
"multivalued" : "true"
}
}, {
"id" : "89303a1d-2a4f-4179-af11-701218b8d9b4",
"name" : "audience resolve",
"protocol" : "openid-connect",
"protocolMapper" : "oidc-audience-resolve-mapper",
"consentRequired" : false,
"config" : {
"introspection.token.claim" : "true",
"access.token.claim" : "true"
}
}, {
"id" : "ea0a62ef-7e0e-4f73-90ae-03244954bd58",
"name" : "client roles",
"protocol" : "openid-connect",
"protocolMapper" : "oidc-usermodel-client-role-mapper",
"consentRequired" : false,
"config" : {
"user.attribute" : "foo",
"introspection.token.claim" : "true",
"access.token.claim" : "true",
"claim.name" : "resource_access.${client_id}.roles",
"jsonType.label" : "String",
"multivalued" : "true"
}
} ]
}, {
"id" : "7c081dbc-5838-4b68-8da3-344d9bb5db29",
"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" : "48eb8264-69ae-48d1-8e48-aea6a25ffffa",
"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" : "7e691276-3a80-4721-a975-5c1e9c0f3d4b",
"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" : "a02e25ad-763d-4fc7-8d3e-794ef8a93720",
"name" : "profile",
"description" : "OpenID Connect built-in scope: profile",
"protocol" : "openid-connect",
"attributes" : {
"include.in.token.scope" : "true",
"consent.screen.text" : "${profileScopeConsentText}",
"display.on.consent.screen" : "true"
},
"protocolMappers" : [ {
"id" : "d89569f3-cdcb-4dfa-adee-04f87b286e52",
"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" : "dfaa465e-6060-480f-86df-df28b73b121a",
"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" : "1ba3807a-7c3f-4cb7-a66d-8c511f8f8225",
"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" : "83bf0116-dc01-43d9-aeba-ddd01521eb11",
"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" : "fdd112c7-13d4-408f-81f0-8b98cfd4e36b",
"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" : "4611118f-0308-4bb9-ab80-39ffe25557e5",
"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" : "683b369c-53fe-43fd-916d-8897d4d0ec81",
"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" : "e520b841-1f22-4d3b-a146-8bcdd1a04d2a",
"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" : "0c869236-1de3-495a-835c-c18f2d00f889",
"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" : "8bf40003-26d0-4367-987b-7a8eded96141",
"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" : "42dbe32f-d15b-4af2-b17e-d0a453a07be2",
"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" : "ab590bc9-fb2b-41b1-8a6c-133bd561f839",
"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" : "66a50932-4849-40d8-8046-be99ffca998c",
"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" : "98f48b49-dd40-438e-910a-d5eebe13c359",
"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" : "a7a3a1d9-c6c7-4c94-a592-0a3f2cd80c4b",
"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" : "a4ac06bb-75fd-4812-9b18-0224a88b9f73",
"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" : "a208bb47-8c4d-4ef3-8e80-a5040e7d4565",
"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" : "ef3ef615-295f-41f3-a5cc-aac78df7ee62",
"name" : "address",
"description" : "OpenID Connect built-in scope: address",
"protocol" : "openid-connect",
"attributes" : {
"include.in.token.scope" : "true",
"consent.screen.text" : "${addressScopeConsentText}",
"display.on.consent.screen" : "true"
},
"protocolMappers" : [ {
"id" : "55ec0ab8-4236-4eb5-acde-cb1a35c740d1",
"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" : "9d7c8cf6-9be7-47db-9420-e25040cddc22",
"name" : "phone",
"description" : "OpenID Connect built-in scope: phone",
"protocol" : "openid-connect",
"attributes" : {
"include.in.token.scope" : "true",
"consent.screen.text" : "${phoneScopeConsentText}",
"display.on.consent.screen" : "true"
},
"protocolMappers" : [ {
"id" : "8f53e3a9-433d-41ce-90b9-c58fa65ae97b",
"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" : "29eca6bc-aff7-464b-88e4-af4533f201d3",
"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" : "99ac4d72-bdcb-4bd7-9ad7-1fe7813b3c70",
"name" : "role_list",
"description" : "SAML role list",
"protocol" : "saml",
"attributes" : {
"consent.screen.text" : "${samlRoleListScopeConsentText}",
"display.on.consent.screen" : "true"
},
"protocolMappers" : [ {
"id" : "4edc888c-2930-4a5b-a490-2250dd5c1657",
"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", "basic" ],
"defaultOptionalClientScopes" : [ "offline_access", "address", "phone", "microprofile-jwt" ],
"browserSecurityHeaders" : {
"contentSecurityPolicyReportOnly" : "",
"xContentTypeOptions" : "nosniff",
"referrerPolicy" : "no-referrer",
"xRobotsTag" : "none",
"xFrameOptions" : "SAMEORIGIN",
"contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
"xXSSProtection" : "1; mode=block",
"strictTransportSecurity" : "max-age=31536000; includeSubDomains"
},
"smtpServer" : { },
"loginTheme" : "keycloak",
"accountTheme" : "",
"adminTheme" : "",
"emailTheme" : "",
"eventsEnabled" : false,
"eventsListeners" : [ "jboss-logging" ],
"enabledEventTypes" : [ ],
"adminEventsEnabled" : false,
"adminEventsDetailsEnabled" : false,
"identityProviders" : [ {
"alias" : "github",
"internalId" : "cf02af83-93f3-4a76-9613-c10f93e494f4",
"providerId" : "github",
"enabled" : true,
"updateProfileFirstLoginMode" : "on",
"trustEmail" : false,
"storeToken" : false,
"addReadTokenRoleOnCreate" : false,
"authenticateByDefault" : false,
"linkOnly" : false,
"config" : {
"syncMode" : "LEGACY",
"clientSecret" : "3869f5e38ad5f607ba53e598cfb54a8ae0e7b101",
"clientId" : "Ov23lik5qGjCQ2AP5gtD"
}
} ],
"identityProviderMappers" : [ ],
"components" : {
"org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ {
"id" : "3c22dfa8-2c4d-463f-abd2-b29232d769f0",
"name" : "Allowed Client Scopes",
"providerId" : "allowed-client-templates",
"subType" : "authenticated",
"subComponents" : { },
"config" : {
"allow-default-scopes" : [ "true" ]
}
}, {
"id" : "f6672321-55e1-419c-820e-fd88dcb350a9",
"name" : "Trusted Hosts",
"providerId" : "trusted-hosts",
"subType" : "anonymous",
"subComponents" : { },
"config" : {
"host-sending-registration-request-must-match" : [ "true" ],
"client-uris-must-match" : [ "true" ]
}
}, {
"id" : "a9d0bfa2-89f5-47e5-a5fa-b15465162968",
"name" : "Consent Required",
"providerId" : "consent-required",
"subType" : "anonymous",
"subComponents" : { },
"config" : { }
}, {
"id" : "d9a7fe92-2b8a-4707-8e78-587f6f912c92",
"name" : "Allowed Protocol Mapper Types",
"providerId" : "allowed-protocol-mappers",
"subType" : "authenticated",
"subComponents" : { },
"config" : {
"allowed-protocol-mapper-types" : [ "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper", "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper", "oidc-full-name-mapper", "saml-role-list-mapper" ]
}
}, {
"id" : "a4e3bcad-ac4b-4db3-a786-8a8fa175c956",
"name" : "Allowed Protocol Mapper Types",
"providerId" : "allowed-protocol-mappers",
"subType" : "anonymous",
"subComponents" : { },
"config" : {
"allowed-protocol-mapper-types" : [ "oidc-usermodel-property-mapper", "saml-user-property-mapper", "oidc-usermodel-attribute-mapper", "oidc-address-mapper", "saml-role-list-mapper", "oidc-full-name-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper" ]
}
}, {
"id" : "ab021a5f-7816-4a4a-83ba-2d22402c7317",
"name" : "Allowed Client Scopes",
"providerId" : "allowed-client-templates",
"subType" : "anonymous",
"subComponents" : { },
"config" : {
"allow-default-scopes" : [ "true" ]
}
}, {
"id" : "3aacbf88-0b04-4528-8fbd-15976d4153a1",
"name" : "Full Scope Disabled",
"providerId" : "scope",
"subType" : "anonymous",
"subComponents" : { },
"config" : { }
}, {
"id" : "a10a9820-2ef7-4362-b379-c45406886bed",
"name" : "Max Clients Limit",
"providerId" : "max-clients",
"subType" : "anonymous",
"subComponents" : { },
"config" : {
"max-clients" : [ "200" ]
}
} ],
"org.keycloak.keys.KeyProvider" : [ {
"id" : "f079ce52-e623-409b-bf95-adcd7fc71cdd",
"name" : "rsa-enc-generated",
"providerId" : "rsa-enc-generated",
"subComponents" : { },
"config" : {
"privateKey" : [ "MIIEpAIBAAKCAQEAzPZdUq2F0UP5ehWIssZHG0kDEt7QE5FbJ2iQ3AUfKpVF1hynK0/rLR6cR9jyDzf27YjRMb9iNgzgXqPd2Y23S6vqvnGD8P6WXJvxMZhYkatRvFWPYHCiLiSv++e/1bQNxuAHlP3c9zrba5zzQSyvtVIqLjJyAbwArX/DgetHHYjq9LRw997j/tgRn1EJDp41EogmkKpUsO/uH36yLvoN7ZWko1SytDM/+xQqaxB9vpOMwvq+jHHLnbOCp9y+pOLfAnnRZtJk3UEdktJfP99ganI8ldvvq3rBEfjTqC35STzsOMt17FO6AP4TdisC6WmqazufIMxgLK8xIaiu2pxYEwIDAQABAoIBAAOiGBH41OS14pyDZlmAWSEv1P6wEP8HzSi1GmDVNB+n+SoVUjptLWIKOXCu4qlIHUEAqibvB0TvJqQrZuB7zFSPECme6qYcr3o4NN2/DQUoBNpSXoRERABFZRJaoeIwdlBXmW9g937oIngnllzcQMf1eOaDBmgLv/UKOr6v9rR33LteqPy4jktqPEf+xwILMaEr/AJLg8mSFKtAGiGZ51s8cUMwBNMmFTQYvLDGY9b3zjhyAv/YEhmnEez50Wbum8MIc9PNq5FhtFDNApXzKFkzIjy0A99mPQltwIeWBUYQWCQelUx09Z0ZfIPdZ6NwSGZ9unLe+XhFy35oQg7SzsECgYEA7N45yDqekyEgmxKzz+pxTu6ti3fGvEyNNruQxPF/Sn0LFhPi6iNQixjvA6EKsVHdZ8XvH6lo6LVmhUh0K0dYm0vMoE2z7WeS9tuor4wOqQTeWFlIkRivXtysTfW3z1o+Lzt7rJAOxTu/kA011T/p2XPiOx/blXccYU+672QxqokCgYEA3YRq1xbR2N5a+iZyYKA6MVxqRlpY/+m0EoQ/WIdDJYijAHnBXRX5a772g0K7nutXcN1DBdwwH5mX4WhnzL8gptSZS5yA81MF7D060i61g7CdlfLrIuOs0Haq6QG7/LV4RWMWDbIniakcKJL4b5XfbUEMXvXsb3SiOc1TA0kFFrsCgYEA7M9r82vvt+bJw1/aV4brC2ACL0prbTwXfl3daZiLi3wiRktRdIYj8zzVUMqDdy4CbcpsvDnRwb4CJkR+p/oncvNAPBATT8laG+UV65PZ4E8WwDtbGn0Ub4Gt3i9IOkzdmLkedzJ7IeMPLMSYSoAgmp+J0VSTYwX3YK6mlMmWAgkCgYEA1dnxXwa7vdckE10sjJYCuAaU3qh4RU80NbAQi4HB1Clt25avkxMUwO0RhTTWdpySxPYGr1Cb8NXR551ooCRf/E9AUtubLc0X6bJO5/yJ5cGK0Ok8EWmlO3dklh/DgTscCjiXYM9+Fgr5kT4Zs3gHw6zJqZ9XC16ZAp5zJrfGvuMCgYAQn26aVIDcQT3ijWQ/J4TWRFyy/gjdiOt5lQjMcaB3CT+ZdIKEpj7bCnFeGZ3yai0izCTjverZJ/qEubCIHrmjvmL1/OGwR42DghyIywAQ2R/UFKqawcpHW9RBCw5y2H2+QFi43CKPsik+Vd+lDEj01/sNEOFDtxCSWBHkQ2r9qQ==" ],
"keyUse" : [ "ENC" ],
"certificate" : [ "MIICnzCCAYcCBgGSIOAipDANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDDAhudXRzaGVsbDAeFw0yNDA5MjMyMTUxNTJaFw0zNDA5MjMyMTUzMzJaMBMxETAPBgNVBAMMCG51dHNoZWxsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzPZdUq2F0UP5ehWIssZHG0kDEt7QE5FbJ2iQ3AUfKpVF1hynK0/rLR6cR9jyDzf27YjRMb9iNgzgXqPd2Y23S6vqvnGD8P6WXJvxMZhYkatRvFWPYHCiLiSv++e/1bQNxuAHlP3c9zrba5zzQSyvtVIqLjJyAbwArX/DgetHHYjq9LRw997j/tgRn1EJDp41EogmkKpUsO/uH36yLvoN7ZWko1SytDM/+xQqaxB9vpOMwvq+jHHLnbOCp9y+pOLfAnnRZtJk3UEdktJfP99ganI8ldvvq3rBEfjTqC35STzsOMt17FO6AP4TdisC6WmqazufIMxgLK8xIaiu2pxYEwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQDDrlkC4E1kfzeczBnsiECC1CVxPfT5D9CNdXXAA1OgbaKLe2FvKgfK80Y2wmEWV18QjLBpTlp/Aa3KnYfwzxwigHVBA0i5Z9nHdMw3a68YMtQ4drCrp/XBvS+jT2L/HZGlTH3MNRvMHKcuc78FX/vtd9CZGcA52BUtC0o4vwyOl31Jf117Dc5pxRiBg8WItw2WPpYVnU7x+PRTfeVyRGu28k6saKzoFjMCFroyAUEhwxfEuxt+75ar8vmEkZzodiJU4DYfgzWLUGkxkbFRokwAw/KFMozjgaAR5OUqZcn29yezBMqJ65Bpms6IoNXpiEo4hLwoMmYY4lB7ZxnppxWf" ],
"priority" : [ "100" ],
"algorithm" : [ "RSA-OAEP" ]
}
}, {
"id" : "4a630ed9-db18-45c5-b285-c550fb1c6606",
"name" : "aes-generated",
"providerId" : "aes-generated",
"subComponents" : { },
"config" : {
"kid" : [ "da49cf04-046f-4721-bd10-bfdceac9cbbd" ],
"secret" : [ "IwAmNIEnrifbve0ZXJzdKg" ],
"priority" : [ "100" ]
}
}, {
"id" : "fd258d82-129a-4d78-a93b-52cc37ae77db",
"name" : "fallback-ES256",
"providerId" : "ecdsa-generated",
"subComponents" : { },
"config" : {
"ecdsaPublicKey" : [ "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEChyakaf24ospBi9idCQTo2MsSg/oJsiqs3NlJ76SkK2ZVQytSxGKuim3uc70AJvja6qYIE8FkXlQJR3GPr4nMw==" ],
"ecdsaEllipticCurveKey" : [ "P-256" ],
"ecdsaPrivateKey" : [ "MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCCqvLfC1oqsIBBfkI4ySBhR7itPS4MajczCKhnSGn1fkQ==" ],
"priority" : [ "-100" ]
}
}, {
"id" : "bcceacf9-8b3a-4b61-abba-9741cf2589dc",
"name" : "hmac-generated-hs512",
"providerId" : "hmac-generated",
"subComponents" : { },
"config" : {
"kid" : [ "5009ff4c-6866-4e0d-bd04-d6e6e40fdc15" ],
"secret" : [ "mo8Ctme-HaJwsFx5u2iwopw38pFMnObXrP8Ac4puRzsjH14Myn5Ea-DZeNGkzd5nkj-bxGugqNfHfS7QfzS_8iTPzTkg8rfChH673PMdaS7J5iK1p_nxfhKOpyAW1RMr5JOtVRgxihmiut9ee_UfDvx7zSlSH8K5reS1AvVy1Mk" ],
"priority" : [ "100" ],
"algorithm" : [ "HS512" ]
}
}, {
"id" : "144e7278-2b96-4f75-b79d-e9eb63aa43c0",
"name" : "rsa-generated",
"providerId" : "rsa-generated",
"subComponents" : { },
"config" : {
"privateKey" : [ "MIIEpAIBAAKCAQEA4uJjlBCZIKX6wWKnOsppXDgfIc4LZCFg5G3tIzXWAfCj23EGkb03f+AWBTXbBDrWQysxC5pWB/0L7w2/OpIWXajf7bTIvYA32AURhW7Z+CtWLI7mUkUI5E4rAMeS48aRdRlXnuHfyCrDvqdXIal93HM1dmfBzh8eQDjUfn+ooxss1TNvsnj6S5bJtPIp/ikAArLXwBkCjQy2aSqokH66DJgJHOhJMR+xLfQ8obfpimj+Ez1nLxnlhvyIbtltWa0vQEYkjK1/CIfya+8DqOrFm0uIOjWhWmQVXZTn12B8FaP4mGjeO4/liAtW7XHQo7WFjB9boyKI2GwXYHX9CamViQIDAQABAoIBABl/lrAhaOo4ySySdyel768h7grFLrXNRAfMHGRyhJeReULcah/3L113XFYv0ipgp+ui1ydeDCjn7R9L0Nfm6u1SAT+ka5KTjkMgd7KCravEyBGoKjWpBUmuSMo0w7sGWhraUyT7ruQevULIKQRTGX5s8r9YxBjTmblfQa9pTrUszp7dSfD31gpFtnjTOPI21xlRhFnNJvUCSsAz2VVBu99KjCv6uOHD/pMgxO+zp0A84BO0KHMEcpB/C0/CvOSSFsGqOAPGMsPbm1Q4/tAKnMp87ENHWubFv3MYccj7hYPiOuxj5eBGlUEkNRlKdjaaeNRjEdT0OM8QnIvCD2tjCnECgYEA9oUYW+9eqjEtRvx+LYEwOzjCiaG+RltwVUkyEA3NIBOW8BV2ZI0alC8ZYoyciEGV/WNaOt0z4xiH1l+n7xHyz7TCh2yC3bhuH999aw130E6k2I6yx5kYyEOrRGQhsi5auJmjnrGIwtkB4bOZvUbn6P5Obc2vsCp5DYqWVwN3M5kCgYEA65v9AGbwTvp97AiZz2JZzelTJPxAzlKhWFGG7gA9Js3BjMCYkdhWlvnhn3p6RfKFoX9PcxjPGOiHM6ZWdx0jVUCaviiFx5MFjFPbPDH2poTH7DtVGpTfogkz09xgDkdP02e0VXpcyyp6gq5wfGWGb3c5HE2pzkpG8EI3hqhbp3ECgYEAhO7Ib+roVUYncDv/nnInnAfDf4wkmrP8I0FRKa8HieCGZ/hq21XrmzS6r5W7Yw5a30SQB2X48ODtfwAeAqDfGnoS3Av7law6Vh2h9/RPQ5jk85IffdpkrrkuxbZpJTgx25Gd1ZlOciOrDBZZNOPjcpSPnk5oCsscc9zjrRBFWyECgYEAzGPMzk1+iLUrCdjIPa0PRN71Xu9p9NKf3zMSf2M7qW7zSfxGHrdzHpP1k9i3O/jQzjHYJXvPJMeLilXxSnG/lhRuaSpUK7ayKHMSjBy34OrtWFR8VovxmOqsyEy0E47vg/DB8yksWJ8oGjfjozabshTWOWRyO2AaPBDlhG6G3DECgYBnQPQLpK4Oz+SwQWNctkdc5sNgaJcgoaNX8lC19+1w8oMPYHQDNph1wTTGJAivF165L95wzfxJvf1Qj5o7FdodmB6YJpMb5U7webDtEygwzSBxce6tkTFD6A6IC/WHilerQ7PbBSamSPFg0BapUEzSO1FxCU69GFe/EQZX91F5wQ==" ],
"keyUse" : [ "SIG" ],
"certificate" : [ "MIICnzCCAYcCBgGSIOAhwjANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDDAhudXRzaGVsbDAeFw0yNDA5MjMyMTUxNTJaFw0zNDA5MjMyMTUzMzJaMBMxETAPBgNVBAMMCG51dHNoZWxsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4uJjlBCZIKX6wWKnOsppXDgfIc4LZCFg5G3tIzXWAfCj23EGkb03f+AWBTXbBDrWQysxC5pWB/0L7w2/OpIWXajf7bTIvYA32AURhW7Z+CtWLI7mUkUI5E4rAMeS48aRdRlXnuHfyCrDvqdXIal93HM1dmfBzh8eQDjUfn+ooxss1TNvsnj6S5bJtPIp/ikAArLXwBkCjQy2aSqokH66DJgJHOhJMR+xLfQ8obfpimj+Ez1nLxnlhvyIbtltWa0vQEYkjK1/CIfya+8DqOrFm0uIOjWhWmQVXZTn12B8FaP4mGjeO4/liAtW7XHQo7WFjB9boyKI2GwXYHX9CamViQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCBNGmP+KzmSjrbXGbEwrOjQjirqi+lxbwBlxKDShpXZMx9e82XJPHwjUWJeBtNnMj8twXYOOGCTvNLGO6/ELTPzmKh5uJq/NAQYPhiieCf6H4dIf4jykMEmC0S2RsJpQCTTz1L+z+9GToTxLB6pkUPnz6rvqvyDtYBgz7EJOHBhwBbP3OTIUPVtXAFj48hXLw4FK7oUn0tSc378Nvtuj3enE/8DZ5EFgHhw9PZjyljLyNSJyf/ihZlVIiy+jxm4yU9mshqF5n1orqpflJpCnIWVPt7//9AdQ120Y/0YnwpGjsTxg39a9grKzsVosrRPY9MsoGnuwOlUKcZi4jj9Ox4" ],
"priority" : [ "100" ]
}
} ]
},
"internationalizationEnabled" : false,
"supportedLocales" : [ ],
"authenticationFlows" : [ {
"id" : "c552fea2-2cd3-400e-912e-e61b4a759a33",
"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" : "76c9cb0e-6247-431e-b75d-2569c2c8906e",
"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" : "a13cd0d1-cddd-440c-beeb-c2e36763f0b6",
"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" : "c26dc239-0ee9-4324-bd17-f407b53079e5",
"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" : "a3fb308b-3159-46c8-be96-91e0c687c2e4",
"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" : "c13b5a6b-01c7-4154-80da-d84ad57ced5a",
"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" : "04ac72d4-c0a0-429c-bf2a-a26531ebf039",
"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" : "ba4af5e1-c841-4313-98c3-747d097929eb",
"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" : "238a1e24-e7eb-4195-9001-27a3d6116ff0",
"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" : "59afc123-384a-44ca-859a-73c6bb1208e3",
"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" : "fcf8c8d1-00fe-4d7a-b003-0f97913bd670",
"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" : "00521719-1597-454f-a32d-22ab105b6011",
"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" : "15800909-918c-4243-ba50-2e1f2229ea09",
"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" : "01616a3f-57bd-4ed7-afc5-f5eae75dac81",
"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" : "e9bed59b-3077-455f-9f37-abfc17b28e7e",
"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" : "dcb5a291-7fff-450f-8495-80535f958bcb",
"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" : "REQUIRED",
"priority" : 60,
"autheticatorFlow" : false,
"userSetupAllowed" : false
}, {
"authenticator" : "registration-terms-and-conditions",
"authenticatorFlow" : false,
"requirement" : "REQUIRED",
"priority" : 70,
"autheticatorFlow" : false,
"userSetupAllowed" : false
} ]
}, {
"id" : "bd4b9d12-2a46-4f13-913c-2b045ebe2b7c",
"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" : "98e4b385-f5df-45c4-bd46-e585700ec414",
"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" : "13f71db7-a606-4ed2-be30-68ee880e05dd",
"alias" : "create unique user config",
"config" : {
"require.password.update.after.registration" : "false"
}
}, {
"id" : "3399153b-e46b-4315-83ef-f669688b38ff",
"alias" : "review profile config",
"config" : {
"update.profile.on.first.login" : "missing"
}
} ],
"requiredActions" : [ {
"alias" : "TERMS_AND_CONDITIONS",
"name" : "Terms and Conditions",
"providerId" : "TERMS_AND_CONDITIONS",
"enabled" : true,
"defaultAction" : false,
"priority" : 10,
"config" : { }
}, {
"alias" : "CONFIGURE_TOTP",
"name" : "Configure OTP",
"providerId" : "CONFIGURE_TOTP",
"enabled" : true,
"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" : "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",
"cibaAuthRequestedUserHint" : "login_hint",
"oauth2DevicePollingInterval" : "5",
"clientOfflineSessionMaxLifespan" : "0",
"clientSessionIdleTimeout" : "0",
"clientOfflineSessionIdleTimeout" : "0",
"cibaInterval" : "5",
"realmReusableOtpCode" : "false",
"cibaExpiresIn" : "120",
"oauth2DeviceCodeLifespan" : "600",
"parRequestUriLifespan" : "60",
"clientSessionMaxLifespan" : "0",
"organizationsEnabled" : "false"
},
"keycloakVersion" : "25.0.6",
"userManagedAccessAllowed" : false,
"organizationsEnabled" : false,
"clientProfiles" : {
"profiles" : [ ]
},
"clientPolicies" : {
"policies" : [ ]
}
}