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.UserPreRemovedEvent, UserModel.UserRemovedEvent -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected jakarta.persistence.EntityManagerprotected RealmModelprotected UserEntityFields inherited from interface org.keycloak.models.UserModel
COMPARE_BY_USERNAME, DISABLED_REASON, EMAIL, EMAIL_PENDING, EMAIL_VERIFIED, ENABLED, EXACT, FIRST_NAME, GROUPS, IDP_ALIAS, IDP_USER_ID, INCLUDE_SERVICE_ACCOUNT, IS_TEMP_ADMIN_ATTR_NAME, LAST_NAME, LOCALE, SEARCH, USERNAME -
Constructor Summary
ConstructorsConstructorDescriptionUserAdapter(KeycloakSession session, RealmModel realm, jakarta.persistence.EntityManager em, UserEntity user) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRequiredAction(String actionName) 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.booleangetAttributeStream(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) longlonggetGroupsCountByNameContaining(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>voidGrants the given role to this object.voidgrantRoleImpl(RoleModel role) inthashCode()booleanReturnstrueif this object is directly or indirectly assigned the given role,falseotherwise.booleanbooleanbooleanisMemberOf(GroupModel group) voidjoinGroup(GroupModel group) voidjoinGroup(GroupModel group, MembershipMetadata metadata) protected voidjoinGroupImpl(GroupModel group) protected voidjoinGroupImpl(GroupModel group, MembershipMetadata metadata) voidleaveGroup(GroupModel group) voidremoveAttribute(String name) voidremoveRequiredAction(String actionName) voidsetAttribute(String name, List<String> values) voidsetCreatedTimestamp(Long timestamp) voidSets email for this user.voidsetEmailVerified(boolean verified) voidsetEnabled(boolean enabled) voidsetFederationLink(String link) voidsetFirstName(String firstName) voidsetLastName(String lastName) 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 java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.models.RoleMapperModel
hasDirectRoleMethods inherited from interface org.keycloak.models.UserModel
addRequiredAction, isFederated, 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:
getEntityin interfaceJpaModel<UserEntity>
-
getId
-
getUsername
- Specified by:
getUsernamein interfaceUserModel
-
setUsername
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- Specified by:
setUsernamein interfaceUserModel- Parameters:
username- username string
-
getCreatedTimestamp
Description copied from interface:UserModelGet timestamp of user creation. May be null for old users created before this feature introduction.- Specified by:
getCreatedTimestampin interfaceUserModel
-
setCreatedTimestamp
- Specified by:
setCreatedTimestampin interfaceUserModel
-
isEnabled
public boolean isEnabled() -
setEnabled
public void setEnabled(boolean enabled) - Specified by:
setEnabledin interfaceUserModel
-
setSingleAttribute
Description copied from interface:UserModelSet single value of specified attribute. Remove all other existing values of this attribute- Specified by:
setSingleAttributein interfaceUserModel
-
setAttribute
- Specified by:
setAttributein interfaceUserModel
-
removeAttribute
- Specified by:
removeAttributein interfaceUserModel
-
getFirstAttribute
- Specified by:
getFirstAttributein 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:UserModelObtains all values associated with the specified attribute name.- Specified by:
getAttributeStreamin interfaceUserModel- Parameters:
name- the name of the attribute.- Returns:
- a non-null
Streamof attribute values.
-
getAttributes
- Specified by:
getAttributesin interfaceUserModel
-
getRequiredActionsStream
Description copied from interface:UserModelObtains the aliases of required actions associated with the user.- Specified by:
getRequiredActionsStreamin interfaceUserModel- Returns:
- a non-null
Streamof required action aliases.
-
addRequiredAction
- Specified by:
addRequiredActionin interfaceUserModel
-
removeRequiredAction
- Specified by:
removeRequiredActionin interfaceUserModel
-
getFirstName
- Specified by:
getFirstNamein interfaceUserModel
-
setFirstName
- Specified by:
setFirstNamein interfaceUserModel
-
getLastName
- Specified by:
getLastNamein interfaceUserModel
-
setLastName
- Specified by:
setLastNamein interfaceUserModel
-
getEmail
-
setEmail
Description copied from interface:UserModelSets email for this user. -
isEmailVerified
public boolean isEmailVerified()- Specified by:
isEmailVerifiedin interfaceUserModel
-
setEmailVerified
public void setEmailVerified(boolean verified) - Specified by:
setEmailVerifiedin interfaceUserModel
-
getGroupsStream
Description copied from interface:UserModelObtains the groups associated with the user.- Specified by:
getGroupsStreamin interfaceUserModel- Returns:
- a non-null
Streamof groups.
-
getGroupsStream
Description copied from interface:UserModelReturns a paginated stream of groups within this realm with search in the name- Specified by:
getGroupsStreamin 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:
getGroupsCountin interfaceUserModel
-
getGroupsCountByNameContaining
- Specified by:
getGroupsCountByNameContainingin interfaceUserModel
-
joinGroup
-
joinGroup
-
joinGroupImpl
-
joinGroupImpl
-
leaveGroup
- Specified by:
leaveGroupin interfaceUserModel
-
isMemberOf
- Specified by:
isMemberOfin interfaceUserModel
-
getUserGroupMappingQuery
protected jakarta.persistence.TypedQuery<UserGroupMembershipEntity> getUserGroupMappingQuery(GroupModel group) -
hasRole
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
- Specified by:
hasRolein interfaceRoleMapperModel- Returns:
- see description
- See Also:
-
getUserRoleMappingEntityTypedQuery
protected jakarta.persistence.TypedQuery<UserRoleMappingEntity> getUserRoleMappingEntityTypedQuery(RoleModel role) -
grantRole
Description copied from interface:RoleMapperModelGrants the given role to this object.- Specified by:
grantRolein interfaceRoleMapperModel
-
grantRoleImpl
-
getRealmRoleMappingsStream
Description copied from interface:RoleMapperModelReturns stream of realm roles that are directly set to this object.- Specified by:
getRealmRoleMappingsStreamin interfaceRoleMapperModel- Returns:
- Stream of
RoleModel. Never returnsnull.
-
getRoleMappingsStream
Description copied from interface:RoleMapperModelReturns stream of all role (both realm all client) that are directly set to this object.- Specified by:
getRoleMappingsStreamin interfaceRoleMapperModel- Returns:
- Stream of
RoleModel. Never returnsnull.
-
deleteRoleMapping
Description copied from interface:RoleMapperModelRemoves the given role mapping from this object.- Specified by:
deleteRoleMappingin interfaceRoleMapperModel- Parameters:
role- Role to remove
-
getClientRoleMappingsStream
Description copied from interface:RoleMapperModelReturns stream of client roles that are directly set to this object for the given client.- Specified by:
getClientRoleMappingsStreamin interfaceRoleMapperModel- Parameters:
app-ClientModelClient to get the roles for.- Returns:
- Stream of
RoleModel. Never returnsnull.
-
getFederationLink
- Specified by:
getFederationLinkin interfaceUserModel
-
setFederationLink
- Specified by:
setFederationLinkin interfaceUserModel
-
getServiceAccountClientLink
- Specified by:
getServiceAccountClientLinkin interfaceUserModel
-
setServiceAccountClientLink
- Specified by:
setServiceAccountClientLinkin interfaceUserModel
-
credentialManager
Description copied from interface:UserModelInstance of a user credential manager to validate and update the credentials of this user.- Specified by:
credentialManagerin interfaceUserModel
-
equals
-
hashCode
public int hashCode()
-