mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-09 23:12:06 -03:30
Fix for #11171 didn't turn out to cover the root cause. Also improved transaction handling in LDAP Map storage. Closes #11211
271 lines
9.0 KiB
JSON
Executable File
271 lines
9.0 KiB
JSON
Executable File
{
|
|
|
|
"hostname": {
|
|
"provider": "${keycloak.hostname.provider:}",
|
|
|
|
"default": {
|
|
"frontendUrl": "${keycloak.frontendUrl:}",
|
|
"adminUrl": "${keycloak.adminUrl:}",
|
|
"forceBackendUrlToFrontendUrl": "${keycloak.hostname.default.forceBackendUrlToFrontendUrl:}"
|
|
}
|
|
},
|
|
|
|
"eventsStore": {
|
|
"provider": "${keycloak.eventsStore.provider:}"
|
|
},
|
|
|
|
"deploymentState": {
|
|
"provider": "${keycloak.deploymentState.provider:jpa}",
|
|
"map": {
|
|
"resourcesVersionSeed": "1JZ379bzyOCFA"
|
|
}
|
|
},
|
|
|
|
"dblock": {
|
|
"provider": "${keycloak.dblock.provider:jpa}"
|
|
},
|
|
|
|
"realm": {
|
|
"provider": "${keycloak.realm.provider:jpa}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.realm.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"client": {
|
|
"provider": "${keycloak.client.provider:jpa}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.client.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"clientScope": {
|
|
"provider": "${keycloak.clientScope.provider:jpa}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.clientScope.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"group": {
|
|
"provider": "${keycloak.group.provider:jpa}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.group.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"role": {
|
|
"provider": "${keycloak.role.provider:jpa}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.role.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"authenticationSessions": {
|
|
"provider": "${keycloak.authSession.provider:infinispan}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.authSession.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
},
|
|
"infinispan": {
|
|
"authSessionsLimit": "${keycloak.authSessions.limit:300}"
|
|
}
|
|
},
|
|
|
|
"userSessions": {
|
|
"provider": "${keycloak.userSession.provider:infinispan}",
|
|
"map": {
|
|
"storage-user-sessions": {
|
|
"provider": "${keycloak.userSession.map.storage.provider:concurrenthashmap}"
|
|
},
|
|
"storage-client-sessions": {
|
|
"provider": "${keycloak.userSession.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"loginFailure": {
|
|
"provider": "${keycloak.loginFailure.provider:infinispan}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.loginFailure.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"mapStorage": {
|
|
"provider": "${keycloak.mapStorage.provider:}",
|
|
"concurrenthashmap": {
|
|
"dir": "${project.build.directory:target/map}",
|
|
"keyType.realms": "string",
|
|
"keyType.authz-resource-servers": "string"
|
|
},
|
|
"jpa-map-storage": {
|
|
"url": "${keycloak.map.storage.connectionsJpa.url:}",
|
|
"user": "${keycloak.map.storage.connectionsJpa.user:}",
|
|
"password": "${keycloak.map.storage.connectionsJpa.password:}",
|
|
"driver": "org.postgresql.Driver",
|
|
"driverDialect": "org.keycloak.models.map.storage.jpa.hibernate.dialect.JsonbPostgreSQL95Dialect",
|
|
"showSql": "${keycloak.map.storage.connectionsJpa,showSql:false}"
|
|
},
|
|
"ldap-map-storage": {
|
|
"vendor": "other",
|
|
"usernameLDAPAttribute": "uid",
|
|
"rdnLDAPAttribute": "uid",
|
|
"uuidLDAPAttribute": "entryUUID",
|
|
"userObjectClasses": "inetOrgPerson, organizationalPerson",
|
|
"connectionUrl": "${keycloak.map.storage.ldap.connectionUrl:}",
|
|
"usersDn": "ou=People,dc=keycloak,dc=org",
|
|
"bindDn": "${keycloak.map.storage.ldap.bindDn:}",
|
|
"bindCredential": "${keycloak.map.storage.ldap.bindCredential:}",
|
|
"roles.realm.dn": "ou=RealmRoles,dc=keycloak,dc=org",
|
|
"roles.common.dn": "dc=keycloak,dc=org",
|
|
"roles.client.dn": "ou={0},dc=keycloak,dc=org",
|
|
"membership.ldap.attribute": "member",
|
|
"role.name.ldap.attribute": "cn",
|
|
"role.object.classes": "groupOfNames",
|
|
"role.attributes": "ou",
|
|
"mode": "LDAP_ONLY",
|
|
"use.realm.roles.mapping": "true",
|
|
"connectionPooling": "true"
|
|
}
|
|
},
|
|
|
|
"user": {
|
|
"provider": "${keycloak.user.provider:jpa}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.user.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"userFederatedStorage": {
|
|
"provider": "${keycloak.userFederatedStorage.provider:}"
|
|
},
|
|
|
|
"userSessionPersister": {
|
|
"provider": "${keycloak.userSessionPersister.provider:}"
|
|
},
|
|
|
|
"authorizationPersister": {
|
|
"provider": "${keycloak.authorization.provider:jpa}",
|
|
"map": {
|
|
"storage": {
|
|
"provider": "${keycloak.authorization.map.storage.provider:concurrenthashmap}"
|
|
}
|
|
}
|
|
},
|
|
|
|
"theme": {
|
|
"staticMaxAge": "${keycloak.theme.staticMaxAge:}",
|
|
"cacheTemplates": "${keycloak.theme.cacheTemplates:}",
|
|
"cacheThemes": "${keycloak.theme.cacheThemes:}",
|
|
"folder": {
|
|
"dir": "${keycloak.theme.dir}"
|
|
}
|
|
},
|
|
|
|
"connectionsJpa": {
|
|
"default": {
|
|
"url": "${keycloak.connectionsJpa.url:jdbc:h2:mem:test;DB_CLOSE_DELAY=-1}",
|
|
"driver": "${keycloak.connectionsJpa.driver:org.h2.Driver}",
|
|
"driverDialect": "${keycloak.connectionsJpa.driverDialect:}",
|
|
"user": "${keycloak.connectionsJpa.user:sa}",
|
|
"password": "${keycloak.connectionsJpa.password:}",
|
|
"showSql": "${keycloak.connectionsJpa.showSql:}",
|
|
"formatSql": "${keycloak.connectionsJpa.formatSql:}",
|
|
"globalStatsInterval": "${keycloak.connectionsJpa.globalStatsInterval:}"
|
|
}
|
|
},
|
|
|
|
"realmCache": {
|
|
"provider": "${keycloak.realm.cache.provider:default}",
|
|
"default" : {
|
|
"enabled": "${keycloak.realm.cache.provider.enabled:true}"
|
|
}
|
|
},
|
|
|
|
"connectionsInfinispan": {
|
|
"default": {
|
|
"jgroupsUdpMcastAddr": "${keycloak.connectionsInfinispan.jgroupsUdpMcastAddr:234.56.78.90}",
|
|
"nodeName": "${keycloak.connectionsInfinispan.nodeName,jboss.node.name:}",
|
|
"siteName": "${keycloak.connectionsInfinispan.siteName,jboss.site.name:}",
|
|
"clustered": "${keycloak.connectionsInfinispan.clustered:}",
|
|
"async": "${keycloak.connectionsInfinispan.async:}",
|
|
"sessionsOwners": "${keycloak.connectionsInfinispan.sessionsOwners:}",
|
|
"l1Lifespan": "${keycloak.connectionsInfinispan.l1Lifespan:}",
|
|
"remoteStoreEnabled": "${keycloak.connectionsInfinispan.remoteStoreEnabled:}",
|
|
"remoteStoreHost": "${keycloak.connectionsInfinispan.remoteStoreServer:}",
|
|
"remoteStorePort": "${keycloak.connectionsInfinispan.remoteStorePort:}",
|
|
"hotrodProtocolVersion": "${keycloak.connectionsInfinispan.hotrodProtocolVersion}",
|
|
"embedded": "${keycloak.connectionsInfinispan.embedded:true}"
|
|
}
|
|
},
|
|
|
|
"connectionsHotRod": {
|
|
"default": {
|
|
"embedded": "${keycloak.connectionsHotRod.embedded:true}",
|
|
"embeddedPort": "${keycloak.connectionsHotRod.embeddedPort:11444}",
|
|
"enableSecurity": "${keycloak.connectionsHotRod.enableSecurity:false}"
|
|
}
|
|
},
|
|
|
|
"scripting": {
|
|
},
|
|
|
|
"jta-lookup": {
|
|
"provider": "${keycloak.jta.lookup.provider:}"
|
|
},
|
|
|
|
"login-protocol": {
|
|
"openid-connect": {
|
|
"legacy-logout-redirect-uri": "${keycloak.oidc.legacyLogoutRedirectUri:false}"
|
|
},
|
|
"saml": {
|
|
"knownProtocols": [
|
|
"http=${auth.server.http.port}",
|
|
"https=${auth.server.https.port}"
|
|
]
|
|
}
|
|
},
|
|
|
|
"userProfile": {
|
|
"provider": "${keycloak.userProfile.provider:declarative-user-profile}",
|
|
"declarative-user-profile": {
|
|
"read-only-attributes": [ "deniedFoo", "deniedBar*", "deniedSome/thing", "deniedsome*thing" ],
|
|
"admin-read-only-attributes": [ "deniedSomeAdmin" ]
|
|
}
|
|
},
|
|
|
|
"x509cert-lookup": {
|
|
"provider": "${keycloak.x509cert.lookup.provider:}",
|
|
"haproxy": {
|
|
"sslClientCert": "x-ssl-client-cert",
|
|
"sslCertChainPrefix": "x-ssl-client-cert-chain",
|
|
"certificateChainLength": 1
|
|
},
|
|
"apache": {
|
|
"sslClientCert": "x-ssl-client-cert",
|
|
"sslCertChainPrefix": "x-ssl-client-cert-chain",
|
|
"certificateChainLength": 1
|
|
},
|
|
"nginx": {
|
|
"sslClientCert": "x-ssl-client-cert",
|
|
"sslCertChainPrefix": "x-ssl-client-cert-chain",
|
|
"certificateChainLength": 1
|
|
}
|
|
}
|
|
|
|
}
|