Package org.keycloak.storage.adapter
Class InMemoryUserAdapter
- java.lang.Object
-
- org.keycloak.models.UserModelDefaultMethods
-
- org.keycloak.models.UserModelDefaultMethods.Streams
-
- org.keycloak.storage.adapter.InMemoryUserAdapter
-
- All Implemented Interfaces:
RoleMapperModel,UserModel
public class InMemoryUserAdapter extends UserModelDefaultMethods.Streams
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.keycloak.models.UserModelDefaultMethods
UserModelDefaultMethods.Streams
-
Nested classes/interfaces inherited from interface org.keycloak.models.UserModel
UserModel.RequiredAction, UserModel.SearchableFields, UserModel.Streams, UserModel.UserRemovedEvent
-
-
Field Summary
-
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 InMemoryUserAdapter(KeycloakSession session, RealmModel realm, String id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDefaults()voidaddRequiredAction(String action)voidaddRequiredAction(UserModel.RequiredAction action)protected voidcheckReadonly()SubjectCredentialManagercredentialManager()Instance of a user credential manager to validate and update the credentials of this user.voiddeleteRoleMapping(RoleModel role)Removes the given role mapping from this object.booleanequals(Object o)Map<String,List<String>>getAttributes()Stream<String>getAttributeStream(String name)Obtains all values associated with the specified attribute name.Stream<RoleModel>getClientRoleMappingsStream(ClientModel app)Returns stream of client roles that are directly set to this object for the given client.LonggetCreatedTimestamp()Get timestamp of user creation.StringgetFederationLink()StringgetFirstAttribute(String name)Stream<GroupModel>getGroupsStream()Obtains the groups associated with the user.StringgetId()Stream<RoleModel>getRealmRoleMappingsStream()Returns stream of realm roles that are directly set to this object.Stream<String>getRequiredActionsStream()Obtains the names of required actions associated with the user.Stream<RoleModel>getRoleMappingsStream()Returns stream of all role (both realm all client) that are directly set to this object.StringgetServiceAccountClientLink()StringgetUsername()voidgrantRole(RoleModel role)Grants the given role to this object.inthashCode()booleanhasRole(RoleModel role)Returnstrueif this object is directly or indirectly assigned the given role,falseotherwise.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)voidsetEmailVerified(boolean verified)voidsetEnabled(boolean enabled)voidsetFederationLink(String link)voidsetReadonly(boolean flag)voidsetServiceAccountClientLink(String clientInternalId)voidsetSingleAttribute(String name, String value)Set single value of specified attribute.voidsetUsername(String username)Sets username for this user.-
Methods inherited from class org.keycloak.models.UserModelDefaultMethods
getEmail, getFirstName, getLastName, setEmail, setFirstName, setLastName, 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
getEmail, getFirstName, getGroupsCount, getGroupsCountByNameContaining, getGroupsStream, getLastName, setEmail, setFirstName, setLastName
-
-
-
-
Constructor Detail
-
InMemoryUserAdapter
public InMemoryUserAdapter(KeycloakSession session, RealmModel realm, String id)
-
-
Method Detail
-
getUsername
public String getUsername()
-
setUsername
public void setUsername(String username)
Description copied from interface:UserModelSets username for this user. No default method here to allow Abstract subclasses where the username is provided in a different manner- Parameters:
username- username string
-
addDefaults
public void addDefaults()
-
setReadonly
public void setReadonly(boolean flag)
-
checkReadonly
protected void checkReadonly()
-
getId
public String getId()
-
getCreatedTimestamp
public Long getCreatedTimestamp()
Description copied from interface:UserModelGet timestamp of user creation. May be null for old users created before this feature introduction.
-
setCreatedTimestamp
public void setCreatedTimestamp(Long timestamp)
-
isEnabled
public boolean isEnabled()
-
setEnabled
public void setEnabled(boolean enabled)
-
setSingleAttribute
public void setSingleAttribute(String name, String value)
Description copied from interface:UserModelSet single value of specified attribute. Remove all other existing values of this attribute
-
removeAttribute
public void removeAttribute(String name)
-
getFirstAttribute
public String getFirstAttribute(String name)
- Returns:
- null if there is not any value of specified attribute or first value otherwise. Don't throw exception if there are more values of the attribute
-
getAttributeStream
public Stream<String> getAttributeStream(String name)
Description copied from interface:UserModelObtains all values associated with the specified attribute name.- Parameters:
name- the name of the attribute.- Returns:
- a non-null
Streamof attribute values.
-
getRequiredActionsStream
public Stream<String> getRequiredActionsStream()
Description copied from interface:UserModelObtains the names of required actions associated with the user.- Returns:
- a non-null
Streamof required action names.
-
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)
-
isEmailVerified
public boolean isEmailVerified()
-
setEmailVerified
public void setEmailVerified(boolean verified)
-
getGroupsStream
public Stream<GroupModel> getGroupsStream()
Description copied from interface:UserModelObtains the groups associated with the user.- Returns:
- a non-null
Streamof groups.
-
joinGroup
public void joinGroup(GroupModel group)
-
leaveGroup
public void leaveGroup(GroupModel group)
-
isMemberOf
public boolean isMemberOf(GroupModel group)
-
getFederationLink
public String getFederationLink()
-
setFederationLink
public void setFederationLink(String link)
-
getServiceAccountClientLink
public String getServiceAccountClientLink()
-
setServiceAccountClientLink
public void setServiceAccountClientLink(String clientInternalId)
-
credentialManager
public SubjectCredentialManager credentialManager()
Description copied from interface:UserModelInstance of a user credential manager to validate and update the credentials of this user.
-
getRealmRoleMappingsStream
public Stream<RoleModel> getRealmRoleMappingsStream()
Description copied from interface:RoleMapperModelReturns stream of realm roles that are directly set to this object.- Returns:
- Stream of
RoleModel. Never returnsnull.
-
getClientRoleMappingsStream
public Stream<RoleModel> getClientRoleMappingsStream(ClientModel app)
Description copied from interface:RoleMapperModelReturns stream of client roles that are directly set to this object for the given client.- Parameters:
app-ClientModelClient to get the roles for.- Returns:
- Stream of
RoleModel. Never returnsnull.
-
hasRole
public boolean hasRole(RoleModel role)
Description copied from interface:RoleMapperModelReturnstrueif this object is directly or indirectly assigned the given role,falseotherwise.For example,
trueis returned for hasRole(R) if:- R is directly assigned to this object
- R is indirectly assigned to this object via composites
- R is not assigned to this object but this object belongs to a group G which is assigned the role R
- R is not assigned to this object but this object belongs to a group G, and G belongs to group H which is assigned the role R
- Returns:
- see description
- See Also:
if you want to check if this object is directly assigned to a role
-
grantRole
public void grantRole(RoleModel role)
Description copied from interface:RoleMapperModelGrants the given role to this object.
-
getRoleMappingsStream
public Stream<RoleModel> getRoleMappingsStream()
Description copied from interface:RoleMapperModelReturns stream of all role (both realm all client) that are directly set to this object.- Returns:
- Stream of
RoleModel. Never returnsnull.
-
deleteRoleMapping
public void deleteRoleMapping(RoleModel role)
Description copied from interface:RoleMapperModelRemoves the given role mapping from this object.- Parameters:
role- Role to remove
-
-