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 void
addDefaults()
void
addRequiredAction(String action)
void
addRequiredAction(UserModel.RequiredAction action)
protected void
checkReadonly()
SubjectCredentialManager
credentialManager()
Instance of a user credential manager to validate and update the credentials of this user.void
deleteRoleMapping(RoleModel role)
Removes the given role mapping from this object.boolean
equals(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.Long
getCreatedTimestamp()
Get timestamp of user creation.String
getFederationLink()
String
getFirstAttribute(String name)
Stream<GroupModel>
getGroupsStream()
Obtains the groups associated with the user.String
getId()
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.String
getServiceAccountClientLink()
String
getUsername()
void
grantRole(RoleModel role)
Grants the given role to this object.int
hashCode()
boolean
hasRole(RoleModel role)
Returnstrue
if this object is directly or indirectly assigned the given role,false
otherwise.boolean
isEmailVerified()
boolean
isEnabled()
boolean
isMemberOf(GroupModel group)
void
joinGroup(GroupModel group)
void
leaveGroup(GroupModel group)
void
removeAttribute(String name)
void
removeRequiredAction(String action)
void
removeRequiredAction(UserModel.RequiredAction action)
void
setAttribute(String name, List<String> values)
void
setCreatedTimestamp(Long timestamp)
void
setEmailVerified(boolean verified)
void
setEnabled(boolean enabled)
void
setFederationLink(String link)
void
setReadonly(boolean flag)
void
setServiceAccountClientLink(String clientInternalId)
void
setSingleAttribute(String name, String value)
Set single value of specified attribute.void
setUsername(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:UserModel
Sets 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:UserModel
Get 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:UserModel
Set 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:UserModel
Obtains all values associated with the specified attribute name.- Parameters:
name
- the name of the attribute.- Returns:
- a non-null
Stream
of attribute values.
-
getRequiredActionsStream
public Stream<String> getRequiredActionsStream()
Description copied from interface:UserModel
Obtains the names of required actions associated with the user.- Returns:
- a non-null
Stream
of 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:UserModel
Obtains the groups associated with the user.- Returns:
- a non-null
Stream
of 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:UserModel
Instance of a user credential manager to validate and update the credentials of this user.
-
getRealmRoleMappingsStream
public Stream<RoleModel> getRealmRoleMappingsStream()
Description copied from interface:RoleMapperModel
Returns 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:RoleMapperModel
Returns stream of client roles that are directly set to this object for the given client.- Parameters:
app
-ClientModel
Client to get the roles for.- Returns:
- Stream of
RoleModel
. Never returnsnull
.
-
hasRole
public boolean hasRole(RoleModel role)
Description copied from interface:RoleMapperModel
Returnstrue
if this object is directly or indirectly assigned the given role,false
otherwise.For example,
true
is 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:RoleMapperModel
Grants the given role to this object.
-
getRoleMappingsStream
public Stream<RoleModel> getRoleMappingsStream()
Description copied from interface:RoleMapperModel
Returns 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:RoleMapperModel
Removes the given role mapping from this object.- Parameters:
role
- Role to remove
-
-