Package org.keycloak.storage.adapter
Class AbstractUserAdapter
- java.lang.Object
-
- org.keycloak.models.UserModelDefaultMethods
-
- org.keycloak.storage.adapter.AbstractUserAdapter
-
- All Implemented Interfaces:
RoleMapperModel,UserModel
- Direct Known Subclasses:
AbstractUserAdapter.Streams
public abstract class AbstractUserAdapter extends UserModelDefaultMethods
This abstract class provides implementations for everything but getUsername(). getId() returns a default value of "f:" + providerId + ":" + getUsername(). isEnabled() returns true. getRoleMappings() will return default roles. getGroups() will return default groups. All other read methods return null, an empty collection, or false depending on the type. All update methods throw a ReadOnlyException. Provider implementors should override the methods for attributes, properties, and mappings they support.- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractUserAdapter.StreamsTheStreams(org.keycloak.models.KeycloakSession,org.keycloak.models.RealmModel,org.keycloak.component.ComponentModel)interface makes all collection-based methods inAbstractUserAdapterdefault by providing implementations that delegate to theStream-based variants instead of the other way around.-
Nested classes/interfaces inherited from interface org.keycloak.models.UserModel
UserModel.RequiredAction, UserModel.SearchableFields, UserModel.UserRemovedEvent
-
-
Field Summary
Fields Modifier and Type Field Description protected longcreatedprotected RealmModelrealmprotected KeycloakSessionsessionprotected StorageIdstorageIdprotected ComponentModelstorageProviderModel-
Fields inherited from interface org.keycloak.models.UserModel
COMPARE_BY_USERNAME, DISABLED_REASON, EMAIL, EMAIL_VERIFIED, ENABLED, EXACT, FIRST_NAME, GROUPS, IDP_ALIAS, IDP_USER_ID, INCLUDE_SERVICE_ACCOUNT, LAST_NAME, LOCALE, SEARCH, USERNAME
-
-
Constructor Summary
Constructors Constructor Description AbstractUserAdapter(KeycloakSession session, RealmModel realm, ComponentModel storageProviderModel)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddRequiredAction(String action)voidaddRequiredAction(UserModel.RequiredAction action)protected booleanappendDefaultGroups()Should the realm's default groups be appended to getGroups() call? If your storage provider is not managing group mappings then it is recommended that this method return trueprotected booleanappendDefaultRolesToRoleMappings()Should the realm's default roles be appended to getRoleMappings() call? If your storage provider is not managing all role mappings then it is recommended that this method return truevoiddeleteRoleMapping(RoleModel role)booleanequals(Object o)List<String>getAttribute(String name)Deprecated.UsegetAttributeStream(String)insteadMap<String,List<String>>getAttributes()Stream<String>getAttributeStream(String name)Set<RoleModel>getClientRoleMappings(ClientModel app)Deprecated.UsegetClientRoleMappingsStream(ClientModel)insteadStream<RoleModel>getClientRoleMappingsStream(ClientModel app)LonggetCreatedTimestamp()StringgetEmail()StringgetFederationLink()This method should not be overridenStringgetFirstAttribute(String name)StringgetFirstName()Set<GroupModel>getGroups()Deprecated.UsegetGroupsStream()insteadprotected Set<GroupModel>getGroupsInternal()Get group membership mappings that are managed by this storage providerStream<GroupModel>getGroupsStream()StringgetId()Defaults to 'f:' + storageProvider.getId() + ':' + getUsername()StringgetLastName()Set<RoleModel>getRealmRoleMappings()Deprecated.UsegetRealmRoleMappingsStream()insteadStream<RoleModel>getRealmRoleMappingsStream()Set<String>getRequiredActions()Deprecated.Stream<String>getRequiredActionsStream()Set<RoleModel>getRoleMappings()Deprecated.UsegetRoleMappingsStream()insteadprotected Set<RoleModel>getRoleMappingsInternal()Stream<RoleModel>getRoleMappingsStream()StringgetServiceAccountClientLink()This method should not be overridenvoidgrantRole(RoleModel role)inthashCode()booleanhasRole(RoleModel role)booleanisEmailVerified()booleanisEnabled()booleanisMemberOf(GroupModel group)voidjoinGroup(GroupModel group)voidleaveGroup(GroupModel group)voidremoveAttribute(String name)voidremoveRequiredAction(String action)voidremoveRequiredAction(UserModel.RequiredAction action)voidsetAttribute(String name, List<String> values)voidsetCreatedTimestamp(Long timestamp)voidsetEmail(String email)voidsetEmailVerified(boolean verified)voidsetEnabled(boolean enabled)voidsetFederationLink(String link)This method should not be overridenvoidsetFirstName(String firstName)voidsetLastName(String lastName)voidsetServiceAccountClientLink(String clientInternalId)This method should not be overridenvoidsetSingleAttribute(String name, String value)voidsetUsername(String username)-
Methods inherited from class org.keycloak.models.UserModelDefaultMethods
toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.keycloak.models.RoleMapperModel
hasDirectRole
-
Methods inherited from interface org.keycloak.models.UserModel
credentialManager, getGroupsCount, getGroupsCountByNameContaining, getGroupsStream, getUsername
-
-
-
-
Field Detail
-
session
protected KeycloakSession session
-
realm
protected RealmModel realm
-
storageProviderModel
protected ComponentModel storageProviderModel
-
storageId
protected StorageId storageId
-
created
protected long created
-
-
Constructor Detail
-
AbstractUserAdapter
public AbstractUserAdapter(KeycloakSession session, RealmModel realm, ComponentModel storageProviderModel)
-
-
Method Detail
-
addRequiredAction
public void addRequiredAction(String action)
-
removeRequiredAction
public void removeRequiredAction(String action)
-
addRequiredAction
public void addRequiredAction(UserModel.RequiredAction action)
-
removeRequiredAction
public void removeRequiredAction(UserModel.RequiredAction action)
-
getGroupsInternal
protected Set<GroupModel> getGroupsInternal()
Get group membership mappings that are managed by this storage provider- Returns:
-
appendDefaultGroups
protected boolean appendDefaultGroups()
Should the realm's default groups be appended to getGroups() call? If your storage provider is not managing group mappings then it is recommended that this method return true- Returns:
-
getGroups
public Set<GroupModel> getGroups()
Deprecated.UsegetGroupsStream()instead
-
getGroupsStream
public Stream<GroupModel> getGroupsStream()
-
joinGroup
public void joinGroup(GroupModel group)
-
leaveGroup
public void leaveGroup(GroupModel group)
-
isMemberOf
public boolean isMemberOf(GroupModel group)
-
getRealmRoleMappings
public Set<RoleModel> getRealmRoleMappings()
Deprecated.UsegetRealmRoleMappingsStream()instead
-
getClientRoleMappings
public Set<RoleModel> getClientRoleMappings(ClientModel app)
Deprecated.UsegetClientRoleMappingsStream(ClientModel)instead
-
getClientRoleMappingsStream
public Stream<RoleModel> getClientRoleMappingsStream(ClientModel app)
-
hasRole
public boolean hasRole(RoleModel role)
-
grantRole
public void grantRole(RoleModel role)
-
appendDefaultRolesToRoleMappings
protected boolean appendDefaultRolesToRoleMappings()
Should the realm's default roles be appended to getRoleMappings() call? If your storage provider is not managing all role mappings then it is recommended that this method return true- Returns:
-
getRoleMappings
public Set<RoleModel> getRoleMappings()
Deprecated.UsegetRoleMappingsStream()instead
-
deleteRoleMapping
public void deleteRoleMapping(RoleModel role)
-
isEnabled
public boolean isEnabled()
-
setEnabled
public void setEnabled(boolean enabled)
-
getFederationLink
public String getFederationLink()
This method should not be overriden- Returns:
-
setFederationLink
public void setFederationLink(String link)
This method should not be overriden
-
getServiceAccountClientLink
public String getServiceAccountClientLink()
This method should not be overriden- Returns:
-
setServiceAccountClientLink
public void setServiceAccountClientLink(String clientInternalId)
This method should not be overriden
-
getId
public String getId()
Defaults to 'f:' + storageProvider.getId() + ':' + getUsername()- Returns:
-
setUsername
public void setUsername(String username)
-
getCreatedTimestamp
public Long getCreatedTimestamp()
-
setCreatedTimestamp
public void setCreatedTimestamp(Long timestamp)
-
removeAttribute
public void removeAttribute(String name)
-
getAttribute
public List<String> getAttribute(String name)
Deprecated.UsegetAttributeStream(String)instead
-
getFirstName
public String getFirstName()
- Specified by:
getFirstNamein interfaceUserModel- Overrides:
getFirstNamein classUserModelDefaultMethods
-
setFirstName
public void setFirstName(String firstName)
- Specified by:
setFirstNamein interfaceUserModel- Overrides:
setFirstNamein classUserModelDefaultMethods
-
getLastName
public String getLastName()
- Specified by:
getLastNamein interfaceUserModel- Overrides:
getLastNamein classUserModelDefaultMethods
-
setLastName
public void setLastName(String lastName)
- Specified by:
setLastNamein interfaceUserModel- Overrides:
setLastNamein classUserModelDefaultMethods
-
getEmail
public String getEmail()
- Specified by:
getEmailin interfaceUserModel- Overrides:
getEmailin classUserModelDefaultMethods
-
setEmail
public void setEmail(String email)
- Specified by:
setEmailin interfaceUserModel- Overrides:
setEmailin classUserModelDefaultMethods
-
isEmailVerified
public boolean isEmailVerified()
-
setEmailVerified
public void setEmailVerified(boolean verified)
-
-