Interface IdentityStore
- All Known Implementing Classes:
LDAPIdentityStore
public interface IdentityStore
IdentityStore representation providing minimal SPI
TODO: Rather remove this abstraction
- Author:
- Boleslaw Dawidowicz, Shane Bryzak
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(LDAPObject ldapObject) Persists the specified IdentityTypevoid
addMemberToGroup
(String groupDn, String memberAttrName, String value) Adds a member to a group.int
countQueryResults
(LDAPQuery LDAPQuery) fetchQueryResults
(LDAPQuery LDAPQuery) Returns the configuration for this IdentityStore instanceQuery the LDAP server RootDSE and extract theLDAPCapabilityRepresentation
of all supported extensions, controls and features the server announces.void
remove
(LDAPObject ldapObject) Removes the specified IdentityTypevoid
removeMemberFromGroup
(String groupDn, String memberAttrName, String value) Removes a member from a group.void
update
(LDAPObject ldapObject) Updates the specified IdentityTypevoid
updatePassword
(LDAPObject user, String password, LDAPOperationDecorator passwordUpdateDecorator) Updates the specified credential value.void
validatePassword
(LDAPObject user, String password) Validates the specified credentials.
-
Method Details
-
getConfig
LDAPConfig getConfig()Returns the configuration for this IdentityStore instance- Returns:
-
add
Persists the specified IdentityType- Parameters:
ldapObject
-
-
update
Updates the specified IdentityType- Parameters:
ldapObject
-
-
remove
Removes the specified IdentityType- Parameters:
ldapObject
-
-
addMemberToGroup
Adds a member to a group.- Parameters:
groupDn
- The DN of the group objectmemberAttrName
- The member attribute namevalue
- The value (it can be uid or dn depending the group type)
-
removeMemberFromGroup
Removes a member from a group.- Parameters:
groupDn
- The DN of the group objectmemberAttrName
- The member attribute namevalue
- The value (it can be uid or dn depending the group type)
-
fetchQueryResults
-
countQueryResults
-
queryServerCapabilities
Set<LDAPCapabilityRepresentation> queryServerCapabilities()Query the LDAP server RootDSE and extract theLDAPCapabilityRepresentation
of all supported extensions, controls and features the server announces. The LDAP Wiki provides a list of known capabilities. Will throw aModelException
on any LDAP error, or when the searchResult is empty.- Returns:
- a set of LDAPOid, each representing a server capability (control, extension or feature).
-
validatePassword
Validates the specified credentials.- Parameters:
user
- Keycloak userpassword
- Ldap password- Throws:
AuthenticationException
- if authentication is not successful
-
updatePassword
void updatePassword(LDAPObject user, String password, LDAPOperationDecorator passwordUpdateDecorator) Updates the specified credential value.- Parameters:
user
- Keycloak userpassword
- Ldap passwordpasswordUpdateDecorator
- Callback to be executed before/after password update. Can be null
-