{ "id": "b99bc06b-072d-48aa-ab15-8b71aecd58de", "realm": "$KEYCLOAK_REALM_NAME", "displayName": "", "displayNameHtml": "", "notBefore": 0, "defaultSignatureAlgorithm": "RS256", "revokeRefreshToken": false, "refreshTokenMaxReuse": 0, "accessTokenLifespan": 300, "accessTokenLifespanForImplicitFlow": 900, "ssoSessionIdleTimeout": 1800, "ssoSessionMaxLifespan": 36000, "ssoSessionIdleTimeoutRememberMe": 0, "ssoSessionMaxLifespanRememberMe": 0, "offlineSessionIdleTimeout": 2592000, "offlineSessionMaxLifespanEnabled": false, "offlineSessionMaxLifespan": 5184000, "clientSessionIdleTimeout": 0, "clientSessionMaxLifespan": 0, "clientOfflineSessionIdleTimeout": 0, "clientOfflineSessionMaxLifespan": 0, "accessCodeLifespan": 60, "accessCodeLifespanUserAction": 300, "accessCodeLifespanLogin": 1800, "actionTokenGeneratedByAdminLifespan": 43200, "actionTokenGeneratedByUserLifespan": 300, "oauth2DeviceCodeLifespan": 600, "oauth2DevicePollingInterval": 5, "enabled": true, "sslRequired": "external", "registrationAllowed": false, "registrationEmailAsUsername": true, "rememberMe": false, "verifyEmail": false, "loginWithEmailAllowed": false, "duplicateEmailsAllowed": false, "resetPasswordAllowed": false, "editUsernameAllowed": true, "bruteForceProtected": false, "permanentLockout": false, "maxTemporaryLockouts": 0, "bruteForceStrategy": "MULTIPLE", "maxFailureWaitSeconds": 900, "minimumQuickLoginWaitSeconds": 60, "waitIncrementSeconds": 60, "quickLoginCheckMilliSeconds": 1000, "maxDeltaTimeSeconds": 43200, "failureFactor": 30, "roles": { "realm": [ { "id": "8c226eb3-8b5f-45b6-a698-2379d906689a", "name": "uma_authorization", "description": "${role_uma_authorization}", "composite": false, "clientRole": false, "containerId": "b99bc06b-072d-48aa-ab15-8b71aecd58de", "attributes": {} }, { "id": "c33d40fc-7e86-4a59-b9b5-576533c448a3", "name": "default-roles-$KEYCLOAK_REALM_NAME", "description": "${role_default-roles}", "composite": true, "composites": { "realm": [ "offline_access", "uma_authorization" ], "client": { "realm-management": [ "impersonation" ], "broker": [ "read-token" ], "account": [ "manage-account", "view-profile" ] } }, "clientRole": false, "containerId": "b99bc06b-072d-48aa-ab15-8b71aecd58de", "attributes": {} }, { "id": "85538d87-4471-445c-bae0-b2ffb29d22a6", "name": "offline_access", "description": "${role_offline-access}", "composite": false, "clientRole": false, "containerId": "b99bc06b-072d-48aa-ab15-8b71aecd58de", "attributes": {} } ], "client": { "$KEYCLOAK_CLIENT_ID": [], "realm-management": [ { "id": "abbc7415-ebfd-48b0-b259-eb2e8b0cf7d0", "name": "manage-events", "description": "${role_manage-events}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "6684c0aa-bf98-42aa-ad56-8c98dd7d7adf", "name": "query-realms", "description": "${role_query-realms}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "a75b2c62-0a41-4419-bb00-0987f839f489", "name": "manage-clients", "description": "${role_manage-clients}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "b3257a00-9ddf-483a-8cea-80f7b31f42ff", "name": "create-client", "description": "${role_create-client}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "f5b2dd69-6680-4bad-b8b9-c6842c22ab9d", "name": "manage-identity-providers", "description": "${role_manage-identity-providers}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "d4a40560-bbd5-476b-82ea-e890b21f4b0f", "name": "view-clients", "description": "${role_view-clients}", "composite": true, "composites": { "client": { "realm-management": [ "query-clients" ] } }, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "ba3243dd-f9da-4510-969d-879099e94035", "name": "query-clients", "description": "${role_query-clients}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "d14b756a-709d-4f5f-baa1-e06834001a78", "name": "view-users", "description": "${role_view-users}", "composite": true, "composites": { "client": { "realm-management": [ "query-users", "query-groups" ] } }, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "a9bdcf70-90e7-4bdc-8aa3-0e0c97e03d0d", "name": "manage-users", "description": "${role_manage-users}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "5f1d736e-a069-4599-96cc-002f1ac71875", "name": "impersonation", "description": "${role_impersonation}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "9750a4e6-da4c-409c-bb34-2cb730add736", "name": "view-realm", "description": "${role_view-realm}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "57fbd5c2-448b-490d-87f9-7972a396d6e8", "name": "query-users", "description": "${role_query-users}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "f0965ad1-1541-41c5-aeee-65fab8e1a524", "name": "view-events", "description": "${role_view-events}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "81a20294-2ab1-415b-82bc-976d760a8e78", "name": "manage-authorization", "description": "${role_manage-authorization}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "7628c953-37d9-4fc9-9382-0472a49381ff", "name": "view-authorization", "description": "${role_view-authorization}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "3a2e307a-4ac0-4922-a953-b45cbd4476d5", "name": "manage-realm", "description": "${role_manage-realm}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "1026387d-e8d7-4cd0-b084-ad012c54e914", "name": "view-identity-providers", "description": "${role_view-identity-providers}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "24719f4d-428c-4b1b-ab52-7129805c7f7a", "name": "query-groups", "description": "${role_query-groups}", "composite": false, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} }, { "id": "6f3ac6ce-6ea0-4d66-ba97-7b4c23955f28", "name": "realm-admin", "description": "${role_realm-admin}", "composite": true, "composites": { "client": { "realm-management": [ "manage-events", "query-realms", "manage-clients", "create-client", "manage-identity-providers", "view-clients", "view-users", "query-clients", "manage-users", "impersonation", "view-realm", "view-events", "query-users", "view-authorization", "manage-authorization", "manage-realm", "view-identity-providers", "query-groups" ] } }, "clientRole": true, "containerId": "8f11a72d-34bb-4708-8658-9f34737212b1", "attributes": {} } ], "security-admin-console": [], "admin-cli": [], "account-console": [], "broker": [ { "id": "2047e7ae-fb51-4a5e-afc3-7a1044818a88", "name": "read-token", "description": "${role_read-token}", "composite": false, "clientRole": true, "containerId": "0ea104fa-8920-4486-ade1-9983a506563d", "attributes": {} } ], "account": [ { "id": "68d6053e-cc72-424a-8caa-6f9a668e5425", "name": "view-groups", "description": "${role_view-groups}", "composite": false, "clientRole": true, "containerId": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "attributes": {} }, { "id": "a8def2ef-bcb1-47e4-8fe7-699ab1c28628", "name": "view-consent", "description": "${role_view-consent}", "composite": false, "clientRole": true, "containerId": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "attributes": {} }, { "id": "55ec8035-1f32-4740-96c9-03dc0dae9483", "name": "manage-account", "description": "${role_manage-account}", "composite": true, "composites": { "client": { "account": [ "manage-account-links" ] } }, "clientRole": true, "containerId": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "attributes": {} }, { "id": "d8c028cf-22bd-400f-a10a-69563e1e5223", "name": "manage-account-links", "description": "${role_manage-account-links}", "composite": false, "clientRole": true, "containerId": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "attributes": {} }, { "id": "a7d560e0-c13a-490f-80ee-717d85f11415", "name": "manage-consent", "description": "${role_manage-consent}", "composite": true, "composites": { "client": { "account": [ "view-consent" ] } }, "clientRole": true, "containerId": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "attributes": {} }, { "id": "48dc35a8-8d82-4160-9299-e7f24fe7bae9", "name": "view-applications", "description": "${role_view-applications}", "composite": false, "clientRole": true, "containerId": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "attributes": {} }, { "id": "fb12a67c-aead-43cc-a16f-e78fa92cba9f", "name": "delete-account", "description": "${role_delete-account}", "composite": false, "clientRole": true, "containerId": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "attributes": {} }, { "id": "28d4af6d-e171-404a-a493-0d6bfb976e9b", "name": "view-profile", "description": "${role_view-profile}", "composite": false, "clientRole": true, "containerId": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "attributes": {} } ] } }, "groups": [], "defaultRole": { "id": "c33d40fc-7e86-4a59-b9b5-576533c448a3", "name": "default-roles-$KEYCLOAK_REALM_NAME", "description": "${role_default-roles}", "composite": true, "clientRole": false, "containerId": "b99bc06b-072d-48aa-ab15-8b71aecd58de" }, "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", "RS256" ], "webAuthnPolicyRpId": "", "webAuthnPolicyAttestationConveyancePreference": "not specified", "webAuthnPolicyAuthenticatorAttachment": "not specified", "webAuthnPolicyRequireResidentKey": "not specified", "webAuthnPolicyUserVerificationRequirement": "not specified", "webAuthnPolicyCreateTimeout": 0, "webAuthnPolicyAvoidSameAuthenticatorRegister": false, "webAuthnPolicyAcceptableAaguids": [], "webAuthnPolicyExtraOrigins": [], "webAuthnPolicyPasswordlessRpEntityName": "keycloak", "webAuthnPolicyPasswordlessSignatureAlgorithms": [ "ES256", "RS256" ], "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": { "broker": [ { "client": "account-console", "roles": [ "read-token" ] } ], "account": [ { "client": "account-console", "roles": [ "manage-account", "view-groups" ] } ] }, "clients": [ { "id": "52a0f9d4-aeb9-47ad-a88b-cf3defcf5c40", "clientId": "account", "name": "${client_account}", "rootUrl": "${authBaseUrl}", "baseUrl": "/realms/$KEYCLOAK_REALM_NAME/account/", "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, "clientAuthenticatorType": "client-secret", "redirectUris": [ "/realms/$KEYCLOAK_REALM_NAME/account/*" ], "webOrigins": [ "https://$WEB_HOST", "https://$AUTH_WEB_HOST" ], "notBefore": 0, "bearerOnly": false, "consentRequired": false, "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, "serviceAccountsEnabled": false, "publicClient": true, "frontchannelLogout": false, "protocol": "openid-connect", "attributes": { "realm_client": "false", "oidc.ciba.grant.enabled": "false", "backchannel.logout.session.required": "true", "post.logout.redirect.uris": "+", "oauth2.device.authorization.grant.enabled": "false", "display.on.consent.screen": "false", "backchannel.logout.revoke.offline.tokens": "false" }, "authenticationFlowBindingOverrides": {}, "fullScopeAllowed": false, "nodeReRegistrationTimeout": 0, "defaultClientScopes": [ "web-origins", "acr", "roles", "profile", "basic", "email" ], "optionalClientScopes": [ "address", "phone", "offline_access", "organization", "microprofile-jwt" ] }, { "id": "09b6ec24-b018-4b68-bea1-4a5bca1c6f2a", "clientId": "account-console", "name": "${client_account-console}", "description": "", "rootUrl": "${authBaseUrl}", "adminUrl": "", "baseUrl": "/realms/$KEYCLOAK_REALM_NAME/account/", "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, "clientAuthenticatorType": "client-secret", "redirectUris": [ "/realms/$KEYCLOAK_REALM_NAME/account/*" ], "webOrigins": [ "https://$WEB_HOST", "https://$AUTH_WEB_HOST" ], "notBefore": 0, "bearerOnly": false, "consentRequired": false, "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, "serviceAccountsEnabled": false, "publicClient": true, "frontchannelLogout": false, "protocol": "openid-connect", "attributes": { "realm_client": "false", "oidc.ciba.grant.enabled": "false", "backchannel.logout.session.required": "true", "post.logout.redirect.uris": "+", "oauth2.device.authorization.grant.enabled": "false", "display.on.consent.screen": "false", "pkce.code.challenge.method": "S256", "backchannel.logout.revoke.offline.tokens": "false" }, "authenticationFlowBindingOverrides": {}, "fullScopeAllowed": false, "nodeReRegistrationTimeout": 0, "protocolMappers": [ { "id": "9123e4aa-6f1c-49a3-ad53-fcfc64031c5b", "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", "organization", "microprofile-jwt" ] }, { "id": "d90f3378-6b05-4960-a10e-6027b4f3bc4f", "clientId": "admin-cli", "name": "${client_admin-cli}", "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, "clientAuthenticatorType": "client-secret", "redirectUris": [], "webOrigins": [], "notBefore": 0, "bearerOnly": false, "consentRequired": false, "standardFlowEnabled": false, "implicitFlowEnabled": false, "directAccessGrantsEnabled": true, "serviceAccountsEnabled": false, "publicClient": true, "frontchannelLogout": false, "protocol": "openid-connect", "attributes": { "realm_client": "false", "client.use.lightweight.access.token.enabled": "true", "post.logout.redirect.uris": "+" }, "authenticationFlowBindingOverrides": {}, "fullScopeAllowed": true, "nodeReRegistrationTimeout": 0, "defaultClientScopes": [ "web-origins", "acr", "roles", "profile", "basic", "email" ], "optionalClientScopes": [ "address", "phone", "offline_access", "organization", "microprofile-jwt" ] }, { "id": "0ea104fa-8920-4486-ade1-9983a506563d", "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": { "realm_client": "true", "post.logout.redirect.uris": "+" }, "authenticationFlowBindingOverrides": {}, "fullScopeAllowed": false, "nodeReRegistrationTimeout": 0, "defaultClientScopes": [ "web-origins", "acr", "roles", "profile", "basic", "email" ], "optionalClientScopes": [ "address", "phone", "offline_access", "organization", "microprofile-jwt" ] }, { "id": "c5a3eb53-335c-4a95-b6f5-79c8fd353a14", "clientId": "$KEYCLOAK_CLIENT_ID", "name": "client_allhands", "description": "", "rootUrl": "${authBaseUrl}", "adminUrl": "", "baseUrl": "", "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, "clientAuthenticatorType": "client-secret", "secret": "$KEYCLOAK_CLIENT_SECRET", "redirectUris": [ "https://$WEB_HOST/oauth/keycloak/callback", "https://$WEB_HOST/oauth/keycloak/offline/callback", "https://$WEB_HOST/slack/keycloak-callback", "https://$WEB_HOST/api/email/verified", "/realms/$KEYCLOAK_REALM_NAME/$KEYCLOAK_CLIENT_ID/*" ], "webOrigins": [ "https://$WEB_HOST", "https://$AUTH_WEB_HOST" ], "notBefore": 0, "bearerOnly": false, "consentRequired": false, "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": true, "serviceAccountsEnabled": false, "publicClient": false, "frontchannelLogout": true, "protocol": "openid-connect", "attributes": { "realm_client": "false", "oidc.ciba.grant.enabled": "false", "client.secret.creation.time": "1738729631", "backchannel.logout.session.required": "true", "frontchannel.logout.session.required": "true", "post.logout.redirect.uris": "+", "oauth2.device.authorization.grant.enabled": "false", "display.on.consent.screen": "false", "backchannel.logout.revoke.offline.tokens": "false" }, "authenticationFlowBindingOverrides": {}, "fullScopeAllowed": true, "nodeReRegistrationTimeout": -1, "defaultClientScopes": [ "web-origins", "acr", "roles", "profile", "basic", "email" ], "optionalClientScopes": [ "address", "phone", "offline_access", "organization", "microprofile-jwt" ] }, { "id": "8f11a72d-34bb-4708-8658-9f34737212b1", "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, "authorizationServicesEnabled": true, "publicClient": false, "frontchannelLogout": false, "protocol": "openid-connect", "attributes": { "realm_client": "true", "post.logout.redirect.uris": "+" }, "authenticationFlowBindingOverrides": {}, "fullScopeAllowed": false, "nodeReRegistrationTimeout": 0, "defaultClientScopes": [ "web-origins", "acr", "roles", "profile", "basic", "email" ], "optionalClientScopes": [ "address", "phone", "offline_access", "organization", "microprofile-jwt" ], "authorizationSettings": { "allowRemoteResourceManagement": false, "policyEnforcementMode": "ENFORCING", "resources": [], "policies": [], "scopes": [], "decisionStrategy": "UNANIMOUS" } }, { "id": "7c138e2a-174e-4942-89fd-bf3c4218d207", "clientId": "security-admin-console", "name": "${client_security-admin-console}", "rootUrl": "${authAdminUrl}", "baseUrl": "/admin/$KEYCLOAK_REALM_NAME/console/", "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, "clientAuthenticatorType": "client-secret", "redirectUris": [ "/admin/$KEYCLOAK_REALM_NAME/console/*" ], "webOrigins": [ "+" ], "notBefore": 0, "bearerOnly": false, "consentRequired": false, "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, "serviceAccountsEnabled": false, "publicClient": true, "frontchannelLogout": false, "protocol": "openid-connect", "attributes": { "realm_client": "false", "oidc.ciba.grant.enabled": "false", "client.use.lightweight.access.token.enabled": "true", "backchannel.logout.session.required": "true", "post.logout.redirect.uris": "+", "oauth2.device.authorization.grant.enabled": "false", "display.on.consent.screen": "false", "pkce.code.challenge.method": "S256", "backchannel.logout.revoke.offline.tokens": "false" }, "authenticationFlowBindingOverrides": {}, "fullScopeAllowed": true, "nodeReRegistrationTimeout": 0, "protocolMappers": [ { "id": "987bca4f-1777-4ef8-9d35-0ca1526d7466", "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", "organization", "microprofile-jwt" ] } ], "clientScopes": [ { "id": "8789470f-0e41-4715-9b96-6abe3351d12d", "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": "7775c946-1256-4ce3-bde0-c8f41a8abf35", "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": "592d4b0b-5552-402d-9029-cbbd1fb17197", "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": "4d08cf8d-dda6-4fd6-b696-6379ac13e168", "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": "37c6a0ac-31f0-49e0-bf4e-940d0571d119", "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": "7bf231f9-6b16-4059-aa0f-67338ca638de", "name": "groups", "protocol": "openid-connect", "protocolMapper": "oidc-usermodel-realm-role-mapper", "consentRequired": false, "config": { "introspection.token.claim": "true", "multivalued": "true", "userinfo.token.claim": "true", "user.attribute": "foo", "id.token.claim": "true", "access.token.claim": "true", "claim.name": "groups", "jsonType.label": "String" } }, { "id": "ce1244cf-af51-4cf1-97e0-d6160513970f", "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": "dd789870-b62a-4eb0-8be5-f6dff8b1a7f8", "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": "0bbaaa18-0991-46ee-955b-05bbaca68bdc", "name": "allowed web origins", "protocol": "openid-connect", "protocolMapper": "oidc-allowed-origins-mapper", "consentRequired": false, "config": { "access.token.claim": "true", "introspection.token.claim": "true" } } ] }, { "id": "af96e163-46e1-4df7-b2f4-fe9cb298f2ca", "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": "d5622064-0cf2-4f3b-91ac-0cbb6e32e47f", "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": "764bad1d-57e0-415a-ac0a-4b2f1874e3b1", "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": "2d65e473-1c09-4ce0-b911-8df9e3d4900b", "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": "0a602b66-b182-406d-b72e-7362906349da", "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": "af6a9d31-6493-4e3c-8c91-06a1e185609c", "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": "c9413c22-5050-4148-a2b5-ecd6ef172a08", "name": "acr loa level", "protocol": "openid-connect", "protocolMapper": "oidc-acr-mapper", "consentRequired": false, "config": { "id.token.claim": "true", "access.token.claim": "true", "introspection.token.claim": "true", "userinfo.token.claim": "true" } } ] }, { "id": "e49249e4-3a73-4e7b-b630-be81a97ebba0", "name": "service_account", "description": "Specific scope for a client enabled for service accounts", "protocol": "openid-connect", "attributes": { "include.in.token.scope": "false", "display.on.consent.screen": "false" }, "protocolMappers": [ { "id": "4918e751-72fe-49f5-8a0e-df1dc73b125d", "name": "Client ID", "protocol": "openid-connect", "protocolMapper": "oidc-usersessionmodel-note-mapper", "consentRequired": false, "config": { "user.session.note": "client_id", "introspection.token.claim": "true", "userinfo.token.claim": "true", "id.token.claim": "true", "access.token.claim": "true", "claim.name": "client_id", "jsonType.label": "String" } }, { "id": "3dd619eb-8ef9-4b62-8f95-bbe5f622d3da", "name": "Client IP Address", "protocol": "openid-connect", "protocolMapper": "oidc-usersessionmodel-note-mapper", "consentRequired": false, "config": { "user.session.note": "clientAddress", "introspection.token.claim": "true", "userinfo.token.claim": "true", "id.token.claim": "true", "access.token.claim": "true", "claim.name": "clientAddress", "jsonType.label": "String" } }, { "id": "a90233fb-079d-4c83-8a87-57e63e4969de", "name": "Client Host", "protocol": "openid-connect", "protocolMapper": "oidc-usersessionmodel-note-mapper", "consentRequired": false, "config": { "user.session.note": "clientHost", "introspection.token.claim": "true", "userinfo.token.claim": "true", "id.token.claim": "true", "access.token.claim": "true", "claim.name": "clientHost", "jsonType.label": "String" } } ] }, { "id": "2afaf0f2-264c-4349-9c76-8af8b0bcf036", "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": "8e602898-388c-49a0-a788-aeab85f043f0", "name": "audience resolve", "protocol": "openid-connect", "protocolMapper": "oidc-audience-resolve-mapper", "consentRequired": false, "config": { "introspection.token.claim": "true", "access.token.claim": "true" } }, { "id": "b2bea1da-36cf-4146-97d5-9ca819b8f9fe", "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": "1254c610-e6d5-4203-86f8-83515545ef55", "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": "3a2cc97e-9c98-457b-ae0f-1198f2eb79b3", "name": "organization", "description": "Additional claims about the organization a subject belongs to", "protocol": "openid-connect", "attributes": { "include.in.token.scope": "true", "consent.screen.text": "${organizationScopeConsentText}", "display.on.consent.screen": "true" }, "protocolMappers": [ { "id": "8f907ba1-b07e-4a5c-bd3a-3aeb36fabe65", "name": "organization", "protocol": "openid-connect", "protocolMapper": "oidc-organization-membership-mapper", "consentRequired": false, "config": { "introspection.token.claim": "true", "multivalued": "true", "userinfo.token.claim": "true", "id.token.claim": "true", "access.token.claim": "true", "claim.name": "organization", "jsonType.label": "String" } } ] }, { "id": "d6168dec-f15e-4d4f-9358-6fa711c5ddb3", "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": "4f939c22-f70e-466d-af38-ebe57fdccdb0", "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": "fe55a2d6-f0b5-4b77-a04b-56847e8589c3", "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": "4eacd957-6de3-48f4-966b-4e79f7158736", "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": "9a1ae4ee-55a1-48ab-954a-d315d8347ace", "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": "b298a9bf-ac7a-44f0-a88a-b3fd075f7a42", "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": "4e41c80b-1571-4b4e-9ed0-0400351bf603", "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": "83195391-71e9-419b-9697-8bd8f0ee7fa9", "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": "7133c29b-d05b-4ce5-881a-617d72168478", "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": "efc77631-aad7-4634-8032-20fdd628e7fd", "name": "github-id", "protocol": "openid-connect", "protocolMapper": "oidc-usermodel-attribute-mapper", "consentRequired": false, "config": { "introspection.token.claim": "true", "userinfo.token.claim": "true", "user.attribute": "github_id", "id.token.claim": "true", "lightweight.claim": "false", "access.token.claim": "true", "claim.name": "github_id", "jsonType.label": "String" } }, { "id": "e1dbd5c8-f23c-487e-8edd-f0165b2a05b0", "name": "identity-provider", "protocol": "openid-connect", "protocolMapper": "oidc-usermodel-attribute-mapper", "consentRequired": false, "config": { "introspection.token.claim": "true", "userinfo.token.claim": "true", "user.attribute": "identity_provider", "id.token.claim": "true", "lightweight.claim": "false", "access.token.claim": "true", "claim.name": "identity_provider", "jsonType.label": "String" } }, { "id": "a6dc9c8c-08fc-4d4e-8bdc-ffb16e962217", "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": "405466b7-f720-408d-93e5-7902ff09f9f4", "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": "ea4a8384-b220-454a-a1e3-43ee627343ee", "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": "506472b1-6a4b-4691-ae94-b95cc70ffd1b", "name": "gitlab-id", "protocol": "openid-connect", "protocolMapper": "oidc-usermodel-attribute-mapper", "consentRequired": false, "config": { "introspection.token.claim": "true", "userinfo.token.claim": "true", "user.attribute": "gitlab_id", "id.token.claim": "true", "lightweight.claim": "false", "access.token.claim": "true", "claim.name": "gitlab_id", "jsonType.label": "String" } }, { "id": "5fac88a6-27ac-4016-a9be-4bcfa87f88ea", "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": "2b42509b-da27-4979-9989-04ee27c82e0e", "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": "1b5b10cb-ce08-418f-9d4f-cc9be6746bce", "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": "b09659dd-4dc1-47ff-b931-543d566219c8", "name": "saml_organization", "description": "Organization Membership", "protocol": "saml", "attributes": { "display.on.consent.screen": "false" }, "protocolMappers": [ { "id": "b3ee305b-bc5a-4ac8-9130-ce63646c8afb", "name": "organization", "protocol": "saml", "protocolMapper": "saml-organization-membership-mapper", "consentRequired": false, "config": {} } ] }, { "id": "daa39c8f-45b5-4fa8-8495-95efcac4bf20", "name": "role_list", "description": "SAML role list", "protocol": "saml", "attributes": { "consent.screen.text": "${samlRoleListScopeConsentText}", "display.on.consent.screen": "true" }, "protocolMappers": [ { "id": "ca7cebeb-e74f-4504-866a-2e6ab78cc9aa", "name": "role list", "protocol": "saml", "protocolMapper": "saml-role-list-mapper", "consentRequired": false, "config": { "single": "false", "attribute.nameformat": "Basic", "attribute.name": "Role" } } ] }, { "id": "4fcf1eb1-3a45-448e-aaa5-73c3ffa7a213", "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": "87a717bc-0216-48dc-94cb-f8db9e9755c2", "name": "sub", "protocol": "openid-connect", "protocolMapper": "oidc-sub-mapper", "consentRequired": false, "config": { "introspection.token.claim": "true", "access.token.claim": "true" } }, { "id": "61271f4f-b7da-468f-9a3d-18b5005a7994", "name": "auth_time", "protocol": "openid-connect", "protocolMapper": "oidc-usersessionmodel-note-mapper", "consentRequired": false, "config": { "user.session.note": "AUTH_TIME", "introspection.token.claim": "true", "userinfo.token.claim": "true", "id.token.claim": "true", "access.token.claim": "true", "claim.name": "auth_time", "jsonType.label": "long" } } ] } ], "defaultDefaultClientScopes": [ "role_list", "saml_organization", "profile", "email", "roles", "web-origins", "acr", "basic" ], "defaultOptionalClientScopes": [ "offline_access", "address", "phone", "microprofile-jwt", "organization" ], "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": { "password": "$KEYCLOAK_SMTP_PASSWORD", "replyToDisplayName": "", "starttls": "true", "auth": "true", "host": "smtp.resend.com", "replyTo": "", "from": "admin@all-hands.dev", "fromDisplayName": "All Hands AI", "envelopeFrom": "", "ssl": "true", "user": "resend" }, "eventsEnabled": false, "eventsListeners": [ "jboss-logging" ], "enabledEventTypes": [], "adminEventsEnabled": false, "adminEventsDetailsEnabled": false, "identityProviders": [ { "alias": "bitbucket", "displayName": "BitBucket", "internalId": "53519de2-bc67-40b1-b93f-78a8195b8838", "providerId": "bitbucket", "enabled": true, "updateProfileFirstLoginMode": "on", "trustEmail": true, "storeToken": true, "addReadTokenRoleOnCreate": false, "authenticateByDefault": false, "linkOnly": false, "hideOnLogin": false, "config": { "clientId": "$BITBUCKET_APP_CLIENT_ID", "acceptsPromptNoneForwardFromClient": "false", "disableUserInfo": "false", "syncMode": "IMPORT", "filteredByClaim": "false", "clientSecret": "$BITBUCKET_APP_CLIENT_SECRET", "caseSensitiveOriginalUsername": "false", "defaultScope": "account repository:write project:write repository:write pullrequest:write issue:write snippet email pipeline" } }, { "alias": "github", "displayName": "GitHub", "internalId": "2d828c72-c175-4e7f-8a72-9b71b929996d", "providerId": "github", "enabled": true, "updateProfileFirstLoginMode": "on", "trustEmail": true, "storeToken": true, "addReadTokenRoleOnCreate": false, "authenticateByDefault": false, "linkOnly": false, "hideOnLogin": false, "config": { "acceptsPromptNoneForwardFromClient": "false", "clientId": "$GITHUB_APP_CLIENT_ID", "disableUserInfo": "false", "filteredByClaim": "false", "syncMode": "IMPORT", "clientSecret": "$GITHUB_APP_CLIENT_SECRET", "caseSensitiveOriginalUsername": "false", "defaultScope": "openid email profile", "baseUrl": "$GITHUB_BASE_URL" } }, { "alias": "gitlab", "displayName": "GitLab", "internalId": "4b91a403-e4b9-49d6-8eab-091d5dde6c70", "providerId": "oidc", "enabled": true, "updateProfileFirstLoginMode": "on", "trustEmail": true, "storeToken": true, "addReadTokenRoleOnCreate": true, "authenticateByDefault": false, "linkOnly": false, "hideOnLogin": false, "config": { "acceptsPromptNoneForwardFromClient": "false", "tokenUrl": "https://gitlab.com/oauth/token", "isAccessTokenJWT": "false", "jwksUrl": "https://gitlab.com/oauth/discovery/keys", "filteredByClaim": "false", "backchannelSupported": "false", "caseSensitiveOriginalUsername": "false", "issuer": "https://gitlab.com", "loginHint": "false", "clientAuthMethod": "client_secret_post", "syncMode": "IMPORT", "clientSecret": "$GITLAB_APP_CLIENT_SECRET", "allowedClockSkew": "0", "defaultScope": "openid email profile read_user api write_repository", "userInfoUrl": "https://gitlab.com/oauth/userinfo", "validateSignature": "true", "clientId": "$GITLAB_APP_CLIENT_ID", "uiLocales": "false", "disableNonce": "false", "useJwksUrl": "true", "sendClientIdOnLogout": "false", "pkceEnabled": "false", "authorizationUrl": "https://gitlab.com/oauth/authorize", "disableUserInfo": "false", "sendIdTokenOnLogout": "true", "passMaxAge": "false" } } ], "identityProviderMappers": [ { "id": "10280842-28de-4bb9-9475-48efcc5e24b9", "name": "id-mapper", "identityProviderAlias": "github", "identityProviderMapper": "github-user-attribute-mapper", "config": { "syncMode": "FORCE", "userAttribute": "github_id", "jsonField": "id" } }, { "id": "095dbaf2-01d6-461d-8989-e916ba108b71", "name": "identity-provider", "identityProviderAlias": "github", "identityProviderMapper": "hardcoded-attribute-idp-mapper", "config": { "attribute.value": "github", "syncMode": "FORCE", "attribute": "identity_provider" } }, { "id": "0bcfe1df-bf90-4924-b0de-613a6a2997f6", "name": "id-mapper", "identityProviderAlias": "gitlab", "identityProviderMapper": "oidc-user-attribute-idp-mapper", "config": { "syncMode": "FORCE", "claim": "sub", "user.attribute": "gitlab_id" } }, { "id": "70134bc9-35e9-4899-808b-12dae690b3da", "name": "identity-provider", "identityProviderAlias": "gitlab", "identityProviderMapper": "hardcoded-attribute-idp-mapper", "config": { "attribute.value": "gitlab", "syncMode": "FORCE", "attribute": "identity_provider" } }, { "id": "37238720-ccd7-4d91-a6a0-476851851d0f", "name": "identity-provider", "identityProviderAlias": "bitbucket", "identityProviderMapper": "hardcoded-attribute-idp-mapper", "config": { "attribute.value": "bitbucket", "syncMode": "FORCE", "attribute": "identity_provider" } } ], "components": { "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [ { "id": "eeb0d8e9-1077-4452-ae8a-2062218b8dbd", "name": "Consent Required", "providerId": "consent-required", "subType": "anonymous", "subComponents": {}, "config": {} }, { "id": "049b0abb-c8a1-49f7-9f83-972205bce25d", "name": "Allowed Protocol Mapper Types", "providerId": "allowed-protocol-mappers", "subType": "anonymous", "subComponents": {}, "config": { "allowed-protocol-mapper-types": [ "oidc-sha256-pairwise-sub-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-usermodel-property-mapper", "saml-user-property-mapper", "oidc-usermodel-attribute-mapper", "oidc-full-name-mapper", "saml-user-attribute-mapper" ] } }, { "id": "d5c308b3-32ad-4a96-a74a-988bb042e00b", "name": "Allowed Client Scopes", "providerId": "allowed-client-templates", "subType": "anonymous", "subComponents": {}, "config": { "allow-default-scopes": [ "true" ] } }, { "id": "f52fc6ad-9b78-4521-81fd-a38c3bc72e75", "name": "Max Clients Limit", "providerId": "max-clients", "subType": "anonymous", "subComponents": {}, "config": { "max-clients": [ "200" ] } }, { "id": "cda340d7-f53a-4402-92b8-0efd6f61f92b", "name": "Allowed Protocol Mapper Types", "providerId": "allowed-protocol-mappers", "subType": "authenticated", "subComponents": {}, "config": { "allowed-protocol-mapper-types": [ "oidc-full-name-mapper", "oidc-usermodel-property-mapper", "oidc-address-mapper", "saml-user-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-role-list-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper" ] } }, { "id": "2803edbb-3c85-4313-8667-ba69796796ff", "name": "Allowed Client Scopes", "providerId": "allowed-client-templates", "subType": "authenticated", "subComponents": {}, "config": { "allow-default-scopes": [ "true" ] } }, { "id": "0455cd08-c339-4d38-8cc9-9ff54514d7f6", "name": "Trusted Hosts", "providerId": "trusted-hosts", "subType": "anonymous", "subComponents": {}, "config": { "host-sending-registration-request-must-match": [ "true" ], "client-uris-must-match": [ "true" ] } }, { "id": "0ff4bced-c739-44ec-a087-f8449ab63dca", "name": "Full Scope Disabled", "providerId": "scope", "subType": "anonymous", "subComponents": {}, "config": {} } ], "org.keycloak.userprofile.UserProfileProvider": [ { "id": "b097b378-863a-412b-8aa2-7c31ab105854", "providerId": "declarative-user-profile", "subComponents": {}, "config": { "kc.user.profile.config": [ "{\"attributes\":[{\"name\":\"username\",\"displayName\":\"${username}\",\"validations\":{\"length\":{\"min\":3,\"max\":255},\"username-prohibited-characters\":{},\"up-username-not-idn-homograph\":{}},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"email\",\"displayName\":\"${email}\",\"validations\":{\"email\":{},\"length\":{\"max\":255}},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"firstName\",\"displayName\":\"${firstName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"lastName\",\"displayName\":\"${lastName}\",\"validations\":{\"length\":{\"max\":255},\"person-name-prohibited-characters\":{}},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\",\"user\"]},\"multivalued\":false},{\"name\":\"github_id\",\"displayName\":\"GitHub ID\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"user\"],\"edit\":[\"admin\"]},\"multivalued\":false},{\"name\":\"identity_provider\",\"displayName\":\"Identity Provider\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\"]},\"multivalued\":false},{\"name\":\"gitlab_id\",\"displayName\":\"GitLab ID\",\"validations\":{},\"annotations\":{},\"permissions\":{\"view\":[\"admin\",\"user\"],\"edit\":[\"admin\"]},\"multivalued\":false}],\"groups\":[{\"name\":\"user-metadata\",\"displayHeader\":\"User metadata\",\"displayDescription\":\"Attributes, which refer to user metadata\"}]}" ] } } ], "org.keycloak.keys.KeyProvider": [ { "id": "fa18d454-8314-447c-a063-c39666bb1cad", "name": "hmac-generated-hs512", "providerId": "hmac-generated", "subComponents": {}, "config": { "priority": [ "100" ], "algorithm": [ "HS512" ] } }, { "id": "e0e39a65-b7bf-4985-a4f3-67edfcd645ba", "name": "rsa-generated", "providerId": "rsa-generated", "subComponents": {}, "config": { "priority": [ "100" ] } }, { "id": "aee7cf2d-4be5-4476-b2e7-b34f600c3400", "name": "rsa-enc-generated", "providerId": "rsa-enc-generated", "subComponents": {}, "config": { "priority": [ "100" ], "algorithm": [ "RSA-OAEP" ] } }, { "id": "420d90da-e022-4dfd-89d6-ded45895d049", "name": "aes-generated", "providerId": "aes-generated", "subComponents": {}, "config": { "priority": [ "100" ] } } ] }, "internationalizationEnabled": false, "supportedLocales": [], "authenticationFlows": [ { "id": "fe65ee45-d69a-4811-85c5-9ac0f3bd78cd", "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": "4605c908-0d16-4b30-b3f2-bd69ac948039", "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": "a0ac41c7-87eb-4138-ba08-1fd11f597a70", "alias": "Browser - Conditional Organization", "description": "Flow to determine if the organization identity-first login is to be used", "providerId": "basic-flow", "topLevel": false, "builtIn": true, "authenticationExecutions": [ { "authenticator": "conditional-user-configured", "authenticatorFlow": false, "requirement": "REQUIRED", "priority": 10, "autheticatorFlow": false, "userSetupAllowed": false }, { "authenticator": "organization", "authenticatorFlow": false, "requirement": "ALTERNATIVE", "priority": 20, "autheticatorFlow": false, "userSetupAllowed": false } ] }, { "id": "93ab2f30-807a-4e62-ba33-7c36bb19cf9c", "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": "c0f30b1d-ba50-41c0-8652-ed8e58daaebc", "alias": "First Broker Login - Conditional Organization", "description": "Flow to determine if the authenticator that adds organization members is to be used", "providerId": "basic-flow", "topLevel": false, "builtIn": true, "authenticationExecutions": [ { "authenticator": "conditional-user-configured", "authenticatorFlow": false, "requirement": "REQUIRED", "priority": 10, "autheticatorFlow": false, "userSetupAllowed": false }, { "authenticator": "idp-add-organization-member", "authenticatorFlow": false, "requirement": "REQUIRED", "priority": 20, "autheticatorFlow": false, "userSetupAllowed": false } ] }, { "id": "3a212926-ee65-4fe8-a356-1bf49041545b", "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": "28dcb150-15e8-434c-86ba-623ff08021b5", "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": "cdccc6da-68cf-4089-bcec-56cd795fe73e", "alias": "Organization", "providerId": "basic-flow", "topLevel": false, "builtIn": true, "authenticationExecutions": [ { "authenticatorFlow": true, "requirement": "CONDITIONAL", "priority": 10, "autheticatorFlow": true, "flowAlias": "Browser - Conditional Organization", "userSetupAllowed": false } ] }, { "id": "291394ab-b9e1-4a6c-a0d6-4f68245895f7", "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": "3fe59569-82c7-4fef-906b-c1f844bbf61f", "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": "238f603c-82fa-45f4-a83c-76444c086960", "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": "eeeb6218-f107-43fc-a799-b153d67e0d61", "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": 26, "autheticatorFlow": true, "flowAlias": "Organization", "userSetupAllowed": false }, { "authenticatorFlow": true, "requirement": "ALTERNATIVE", "priority": 30, "autheticatorFlow": true, "flowAlias": "forms", "userSetupAllowed": false } ] }, { "id": "2327a906-3202-4505-99ac-601265935304", "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": "31896620-a2a1-4afa-a21a-b2ce52e6f82b", "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": "d169ec8d-4770-401f-960e-36c2eabbe844", "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": "30749945-e1a9-4e68-8f20-571ecfcfdf2d", "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 }, { "authenticatorFlow": true, "requirement": "CONDITIONAL", "priority": 50, "autheticatorFlow": true, "flowAlias": "First Broker Login - Conditional Organization", "userSetupAllowed": false } ] }, { "id": "cc6ff929-7007-445a-b0a7-15d4d1849396", "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": "8ba9b357-8103-4c80-84c7-ac7ab7426859", "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": "f15d386d-b60b-495e-8a06-75929b6d310f", "alias": "registration form", "description": "Registration form", "providerId": "form-flow", "topLevel": false, "builtIn": true, "authenticationExecutions": [ { "authenticator": "registration-user-creation", "authenticatorFlow": false, "requirement": "REQUIRED", "priority": 20, "autheticatorFlow": false, "userSetupAllowed": false }, { "authenticator": "registration-password-action", "authenticatorFlow": false, "requirement": "REQUIRED", "priority": 50, "autheticatorFlow": false, "userSetupAllowed": false }, { "authenticator": "registration-recaptcha-action", "authenticatorFlow": false, "requirement": "DISABLED", "priority": 60, "autheticatorFlow": false, "userSetupAllowed": false }, { "authenticator": "registration-terms-and-conditions", "authenticatorFlow": false, "requirement": "DISABLED", "priority": 70, "autheticatorFlow": false, "userSetupAllowed": false } ] }, { "id": "63c40704-513d-4683-b330-26d363ae3bfa", "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": "9dcfec77-122a-47b7-9619-93ede1ef754c", "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": "f9c6288f-5dd3-42d1-8749-33f8d5618d03", "alias": "create unique user config", "config": { "require.password.update.after.registration": "false" } }, { "id": "a9427c10-a59c-4800-bab8-987b26c27a57", "alias": "review profile config", "config": { "update.profile.on.first.login": "missing" } } ], "requiredActions": [ { "alias": "CONFIGURE_TOTP", "name": "Configure OTP", "providerId": "CONFIGURE_TOTP", "enabled": true, "defaultAction": false, "priority": 10, "config": {} }, { "alias": "TERMS_AND_CONDITIONS", "name": "Terms and Conditions", "providerId": "TERMS_AND_CONDITIONS", "enabled": false, "defaultAction": false, "priority": 20, "config": {} }, { "alias": "UPDATE_PASSWORD", "name": "Update Password", "providerId": "UPDATE_PASSWORD", "enabled": true, "defaultAction": false, "priority": 30, "config": {} }, { "alias": "UPDATE_PROFILE", "name": "Update Profile", "providerId": "UPDATE_PROFILE", "enabled": true, "defaultAction": false, "priority": 40, "config": {} }, { "alias": "VERIFY_EMAIL", "name": "Verify Email", "providerId": "VERIFY_EMAIL", "enabled": true, "defaultAction": false, "priority": 50, "config": {} }, { "alias": "delete_account", "name": "Delete Account", "providerId": "delete_account", "enabled": false, "defaultAction": false, "priority": 60, "config": {} }, { "alias": "webauthn-register", "name": "Webauthn Register", "providerId": "webauthn-register", "enabled": true, "defaultAction": false, "priority": 70, "config": {} }, { "alias": "webauthn-register-passwordless", "name": "Webauthn Register Passwordless", "providerId": "webauthn-register-passwordless", "enabled": true, "defaultAction": false, "priority": 80, "config": {} }, { "alias": "VERIFY_PROFILE", "name": "Verify Profile", "providerId": "VERIFY_PROFILE", "enabled": true, "defaultAction": false, "priority": 90, "config": {} }, { "alias": "delete_credential", "name": "Delete Credential", "providerId": "delete_credential", "enabled": true, "defaultAction": false, "priority": 100, "config": {} }, { "alias": "update_user_locale", "name": "Update User Locale", "providerId": "update_user_locale", "enabled": true, "defaultAction": false, "priority": 1000, "config": {} } ], "browserFlow": "browser", "registrationFlow": "registration", "directGrantFlow": "direct grant", "resetCredentialsFlow": "reset credentials", "clientAuthenticationFlow": "clients", "dockerAuthenticationFlow": "docker auth", "firstBrokerLoginFlow": "first broker login", "attributes": { "cibaBackchannelTokenDeliveryMode": "poll", "cibaAuthRequestedUserHint": "login_hint", "clientOfflineSessionMaxLifespan": "0", "oauth2DevicePollingInterval": "5", "clientSessionIdleTimeout": "0", "actionTokenGeneratedByUserLifespan.verify-email": "", "actionTokenGeneratedByUserLifespan.idp-verify-account-via-email": "", "clientOfflineSessionIdleTimeout": "0", "actionTokenGeneratedByUserLifespan.execute-actions": "", "cibaInterval": "5", "realmReusableOtpCode": "false", "cibaExpiresIn": "120", "oauth2DeviceCodeLifespan": "600", "parRequestUriLifespan": "60", "clientSessionMaxLifespan": "0", "frontendUrl": "https://$AUTH_WEB_HOST", "acr.loa.map": "{}", "shortVerificationUri": "", "actionTokenGeneratedByUserLifespan.reset-credentials": "" }, "keycloakVersion": "26.1.1", "userManagedAccessAllowed": false, "organizationsEnabled": false, "verifiableCredentialsEnabled": false, "adminPermissionsEnabled": false, "clientProfiles": { "profiles": [] }, "clientPolicies": { "policies": [] } }