Package org.keycloak.models.jpa
Class UserAdapter
java.lang.Object
org.keycloak.models.jpa.UserAdapter
- All Implemented Interfaces:
JpaModel<UserEntity>
,RoleMapperModel
,UserModel
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.keycloak.models.UserModel
UserModel.RequiredAction, UserModel.UserRemovedEvent
-
Field Summary
Modifier and TypeFieldDescriptionprotected jakarta.persistence.EntityManager
protected RealmModel
protected UserEntity
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
ConstructorDescriptionUserAdapter
(KeycloakSession session, RealmModel realm, jakarta.persistence.EntityManager em, UserEntity user) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addRequiredAction
(String actionName) 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
getAttributeStream
(String name) Obtains all values associated with the specified attribute name.Returns stream of client roles that are directly set to this object for the given client.Get timestamp of user creation.getEmail()
getFirstAttribute
(String name) long
long
getGroupsCountByNameContaining
(String search) Obtains the groups associated with the user.getGroupsStream
(String search, Integer first, Integer max) Returns a paginated stream of groups within this realm with search in the namegetId()
Returns stream of realm roles that are directly set to this object.Obtains the aliases of required actions associated with the user.Returns stream of all role (both realm all client) that are directly set to this object.protected jakarta.persistence.TypedQuery<UserGroupMembershipEntity>
protected jakarta.persistence.TypedQuery<UserRoleMappingEntity>
void
Grants the given role to this object.void
grantRoleImpl
(RoleModel role) int
hashCode()
boolean
Returnstrue
if this object is directly or indirectly assigned the given role,false
otherwise.boolean
boolean
boolean
isMemberOf
(GroupModel group) void
joinGroup
(GroupModel group) protected void
joinGroupImpl
(GroupModel group) void
leaveGroup
(GroupModel group) void
removeAttribute
(String name) void
removeRequiredAction
(String actionName) void
setAttribute
(String name, List<String> values) void
setCreatedTimestamp
(Long timestamp) void
Sets email for this user.void
setEmailVerified
(boolean verified) void
setEnabled
(boolean enabled) void
setFederationLink
(String link) void
setFirstName
(String firstName) void
setLastName
(String lastName) 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 java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.keycloak.models.RoleMapperModel
hasDirectRole
Methods inherited from interface org.keycloak.models.UserModel
addRequiredAction, removeRequiredAction
-
Field Details
-
user
-
em
protected jakarta.persistence.EntityManager em -
realm
-
-
Constructor Details
-
UserAdapter
public UserAdapter(KeycloakSession session, RealmModel realm, jakarta.persistence.EntityManager em, UserEntity user)
-
-
Method Details
-
getEntity
- Specified by:
getEntity
in interfaceJpaModel<UserEntity>
-
getId
-
getUsername
- Specified by:
getUsername
in interfaceUserModel
-
setUsername
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- Specified by:
setUsername
in interfaceUserModel
- Parameters:
username
- username string
-
getCreatedTimestamp
Description copied from interface:UserModel
Get timestamp of user creation. May be null for old users created before this feature introduction.- Specified by:
getCreatedTimestamp
in interfaceUserModel
-
setCreatedTimestamp
- Specified by:
setCreatedTimestamp
in interfaceUserModel
-
isEnabled
public boolean isEnabled() -
setEnabled
public void setEnabled(boolean enabled) - Specified by:
setEnabled
in interfaceUserModel
-
setSingleAttribute
Description copied from interface:UserModel
Set single value of specified attribute. Remove all other existing values of this attribute- Specified by:
setSingleAttribute
in interfaceUserModel
-
setAttribute
- Specified by:
setAttribute
in interfaceUserModel
-
removeAttribute
- Specified by:
removeAttribute
in interfaceUserModel
-
getFirstAttribute
- Specified by:
getFirstAttribute
in interfaceUserModel
- 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
Description copied from interface:UserModel
Obtains all values associated with the specified attribute name.- Specified by:
getAttributeStream
in interfaceUserModel
- Parameters:
name
- the name of the attribute.- Returns:
- a non-null
Stream
of attribute values.
-
getAttributes
- Specified by:
getAttributes
in interfaceUserModel
-
getRequiredActionsStream
Description copied from interface:UserModel
Obtains the aliases of required actions associated with the user.- Specified by:
getRequiredActionsStream
in interfaceUserModel
- Returns:
- a non-null
Stream
of required action aliases.
-
addRequiredAction
- Specified by:
addRequiredAction
in interfaceUserModel
-
removeRequiredAction
- Specified by:
removeRequiredAction
in interfaceUserModel
-
getFirstName
- Specified by:
getFirstName
in interfaceUserModel
-
setFirstName
- Specified by:
setFirstName
in interfaceUserModel
-
getLastName
- Specified by:
getLastName
in interfaceUserModel
-
setLastName
- Specified by:
setLastName
in interfaceUserModel
-
getEmail
-
setEmail
Description copied from interface:UserModel
Sets email for this user. -
isEmailVerified
public boolean isEmailVerified()- Specified by:
isEmailVerified
in interfaceUserModel
-
setEmailVerified
public void setEmailVerified(boolean verified) - Specified by:
setEmailVerified
in interfaceUserModel
-
getGroupsStream
Description copied from interface:UserModel
Obtains the groups associated with the user.- Specified by:
getGroupsStream
in interfaceUserModel
- Returns:
- a non-null
Stream
of groups.
-
getGroupsStream
Description copied from interface:UserModel
Returns a paginated stream of groups within this realm with search in the name- Specified by:
getGroupsStream
in interfaceUserModel
- Parameters:
search
- Case insensitive string which will be searched for. Ignored if null.first
- Index of first group to return. Ignored if negative ornull
.max
- Maximum number of records to return. Ignored if negative ornull
.- Returns:
- Stream of desired groups. Never returns
null
.
-
getGroupsCount
public long getGroupsCount()- Specified by:
getGroupsCount
in interfaceUserModel
-
getGroupsCountByNameContaining
- Specified by:
getGroupsCountByNameContaining
in interfaceUserModel
-
joinGroup
-
joinGroupImpl
-
leaveGroup
- Specified by:
leaveGroup
in interfaceUserModel
-
isMemberOf
- Specified by:
isMemberOf
in interfaceUserModel
-
getUserGroupMappingQuery
protected jakarta.persistence.TypedQuery<UserGroupMembershipEntity> getUserGroupMappingQuery(GroupModel group) -
hasRole
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
- Specified by:
hasRole
in interfaceRoleMapperModel
- Returns:
- see description
- See Also:
-
getUserRoleMappingEntityTypedQuery
protected jakarta.persistence.TypedQuery<UserRoleMappingEntity> getUserRoleMappingEntityTypedQuery(RoleModel role) -
grantRole
Description copied from interface:RoleMapperModel
Grants the given role to this object.- Specified by:
grantRole
in interfaceRoleMapperModel
-
grantRoleImpl
-
getRealmRoleMappingsStream
Description copied from interface:RoleMapperModel
Returns stream of realm roles that are directly set to this object.- Specified by:
getRealmRoleMappingsStream
in interfaceRoleMapperModel
- Returns:
- Stream of
RoleModel
. Never returnsnull
.
-
getRoleMappingsStream
Description copied from interface:RoleMapperModel
Returns stream of all role (both realm all client) that are directly set to this object.- Specified by:
getRoleMappingsStream
in interfaceRoleMapperModel
- Returns:
- Stream of
RoleModel
. Never returnsnull
.
-
deleteRoleMapping
Description copied from interface:RoleMapperModel
Removes the given role mapping from this object.- Specified by:
deleteRoleMapping
in interfaceRoleMapperModel
- Parameters:
role
- Role to remove
-
getClientRoleMappingsStream
Description copied from interface:RoleMapperModel
Returns stream of client roles that are directly set to this object for the given client.- Specified by:
getClientRoleMappingsStream
in interfaceRoleMapperModel
- Parameters:
app
-ClientModel
Client to get the roles for.- Returns:
- Stream of
RoleModel
. Never returnsnull
.
-
getFederationLink
- Specified by:
getFederationLink
in interfaceUserModel
-
setFederationLink
- Specified by:
setFederationLink
in interfaceUserModel
-
getServiceAccountClientLink
- Specified by:
getServiceAccountClientLink
in interfaceUserModel
-
setServiceAccountClientLink
- Specified by:
setServiceAccountClientLink
in interfaceUserModel
-
credentialManager
Description copied from interface:UserModel
Instance of a user credential manager to validate and update the credentials of this user.- Specified by:
credentialManager
in interfaceUserModel
-
equals
-
hashCode
public int hashCode()
-