Package org.keycloak.models.jpa
Class JpaUserProvider
- java.lang.Object
-
- org.keycloak.models.jpa.JpaUserProvider
-
- All Implemented Interfaces:
UserCredentialStore,UserCredentialStore.Streams,UserProvider,UserProvider.Streams,Provider,UserBulkUpdateProvider,UserLookupProvider,UserLookupProvider.Streams,UserQueryProvider,UserQueryProvider.Streams,UserRegistrationProvider
public class JpaUserProvider extends Object implements UserProvider.Streams, UserCredentialStore.Streams
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.keycloak.credential.UserCredentialStore
UserCredentialStore.Streams
-
Nested classes/interfaces inherited from interface org.keycloak.storage.user.UserLookupProvider
UserLookupProvider.Streams
-
Nested classes/interfaces inherited from interface org.keycloak.models.UserProvider
UserProvider.Streams
-
Nested classes/interfaces inherited from interface org.keycloak.storage.user.UserQueryProvider
UserQueryProvider.Streams
-
-
Field Summary
Fields Modifier and Type Field Description protected javax.persistence.EntityManagerem
-
Constructor Summary
Constructors Constructor Description JpaUserProvider(KeycloakSession session, javax.persistence.EntityManager em)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.credential.UserCredentialStore.Streams
getStoredCredentials, getStoredCredentialsByType
-
Methods inherited from interface org.keycloak.storage.user.UserLookupProvider
getUserByCredential
-
Methods inherited from interface org.keycloak.storage.user.UserLookupProvider.Streams
getUserByEmail, getUserById, getUserByUsername
-
Methods inherited from interface org.keycloak.models.UserProvider.Streams
getConsents, getFederatedIdentities, getFederatedIdentity, getUserByFederatedIdentity, getUsers, getUsers, getUsersStream
-
Methods inherited from interface org.keycloak.storage.user.UserQueryProvider
getRoleMembers, getRoleMembers, getUsersCount
-
Methods inherited from interface org.keycloak.storage.user.UserQueryProvider.Streams
getGroupMembers, getGroupMembers, getUsers, getUsers, getUsersCount, getUsersCount, getUsersCount, getUsersCount, getUsersStream, searchForUser, searchForUser, searchForUser, searchForUser, searchForUserByUserAttribute, searchForUserStream, searchForUserStream
-
-
-
-
Constructor Detail
-
JpaUserProvider
public JpaUserProvider(KeycloakSession session, javax.persistence.EntityManager em)
-
-
Method Detail
-
addUser
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions)
- Specified by:
addUserin interfaceUserProvider
-
addUser
public UserModel addUser(RealmModel realm, String username)
- Specified by:
addUserin interfaceUserRegistrationProvider
-
removeUser
public boolean removeUser(RealmModel realm, UserModel user)
- Specified by:
removeUserin interfaceUserRegistrationProvider
-
addFederatedIdentity
public void addFederatedIdentity(RealmModel realm, UserModel user, FederatedIdentityModel identity)
- Specified by:
addFederatedIdentityin interfaceUserProvider
-
updateFederatedIdentity
public void updateFederatedIdentity(RealmModel realm, UserModel federatedUser, FederatedIdentityModel federatedIdentityModel)
- Specified by:
updateFederatedIdentityin interfaceUserProvider
-
removeFederatedIdentity
public boolean removeFederatedIdentity(RealmModel realm, UserModel user, String identityProvider)
- Specified by:
removeFederatedIdentityin interfaceUserProvider
-
preRemove
public void preRemove(RealmModel realm, IdentityProviderModel provider)
- Specified by:
preRemovein interfaceUserProvider
-
addConsent
public void addConsent(RealmModel realm, String userId, UserConsentModel consent)
- Specified by:
addConsentin interfaceUserProvider
-
getConsentByClient
public UserConsentModel getConsentByClient(RealmModel realm, String userId, String clientId)
- Specified by:
getConsentByClientin interfaceUserProvider
-
getConsentsStream
public Stream<UserConsentModel> getConsentsStream(RealmModel realm, String userId)
- Specified by:
getConsentsStreamin interfaceUserProvider- Specified by:
getConsentsStreamin interfaceUserProvider.Streams
-
updateConsent
public void updateConsent(RealmModel realm, String userId, UserConsentModel consent)
- Specified by:
updateConsentin interfaceUserProvider
-
revokeConsentForClient
public boolean revokeConsentForClient(RealmModel realm, String userId, String clientId)
- Specified by:
revokeConsentForClientin interfaceUserProvider
-
setNotBeforeForUser
public void setNotBeforeForUser(RealmModel realm, UserModel user, int notBefore)
- Specified by:
setNotBeforeForUserin interfaceUserProvider
-
getNotBeforeOfUser
public int getNotBeforeOfUser(RealmModel realm, UserModel user)
- Specified by:
getNotBeforeOfUserin interfaceUserProvider
-
grantToAllUsers
public void grantToAllUsers(RealmModel realm, RoleModel role)
- Specified by:
grantToAllUsersin interfaceUserBulkUpdateProvider
-
preRemove
public void preRemove(RealmModel realm)
- Specified by:
preRemovein interfaceUserProvider
-
removeImportedUsers
public void removeImportedUsers(RealmModel realm, String storageProviderId)
- Specified by:
removeImportedUsersin interfaceUserProvider
-
unlinkUsers
public void unlinkUsers(RealmModel realm, String storageProviderId)
- Specified by:
unlinkUsersin interfaceUserProvider
-
preRemove
public void preRemove(RealmModel realm, RoleModel role)
- Specified by:
preRemovein interfaceUserProvider
-
preRemove
public void preRemove(RealmModel realm, ClientModel client)
- Specified by:
preRemovein interfaceUserProvider
-
preRemove
public void preRemove(ProtocolMapperModel protocolMapper)
- Specified by:
preRemovein interfaceUserProvider
-
preRemove
public void preRemove(ClientScopeModel clientScope)
- Specified by:
preRemovein interfaceUserProvider
-
getGroupMembersStream
public Stream<UserModel> getGroupMembersStream(RealmModel realm, GroupModel group)
- Specified by:
getGroupMembersStreamin interfaceUserQueryProvider- Specified by:
getGroupMembersStreamin interfaceUserQueryProvider.Streams
-
getRoleMembersStream
public Stream<UserModel> getRoleMembersStream(RealmModel realm, RoleModel role)
- Specified by:
getRoleMembersStreamin interfaceUserQueryProvider
-
preRemove
public void preRemove(RealmModel realm, GroupModel group)
- Specified by:
preRemovein interfaceUserProvider
-
getUserById
public UserModel getUserById(RealmModel realm, String id)
- Specified by:
getUserByIdin interfaceUserLookupProvider- Specified by:
getUserByIdin interfaceUserLookupProvider.Streams
-
getUserByUsername
public UserModel getUserByUsername(RealmModel realm, String username)
- Specified by:
getUserByUsernamein interfaceUserLookupProvider- Specified by:
getUserByUsernamein interfaceUserLookupProvider.Streams
-
getUserByEmail
public UserModel getUserByEmail(RealmModel realm, String email)
- Specified by:
getUserByEmailin interfaceUserLookupProvider- Specified by:
getUserByEmailin interfaceUserLookupProvider.Streams
-
close
public void close()
- Specified by:
closein interfaceProvider- Specified by:
closein interfaceUserProvider
-
getUserByFederatedIdentity
public UserModel getUserByFederatedIdentity(RealmModel realm, FederatedIdentityModel identity)
- Specified by:
getUserByFederatedIdentityin interfaceUserProvider- Specified by:
getUserByFederatedIdentityin interfaceUserProvider.Streams
-
getServiceAccount
public UserModel getServiceAccount(ClientModel client)
- Specified by:
getServiceAccountin interfaceUserProvider
-
getUsersCount
public int getUsersCount(RealmModel realm, boolean includeServiceAccount)
- Specified by:
getUsersCountin interfaceUserQueryProvider
-
getUsersCount
public int getUsersCount(RealmModel realm, Set<String> groupIds)
- Specified by:
getUsersCountin interfaceUserQueryProvider
-
getUsersCount
public int getUsersCount(RealmModel realm, String search)
- Specified by:
getUsersCountin interfaceUserQueryProvider- Specified by:
getUsersCountin interfaceUserQueryProvider.Streams
-
getUsersCount
public int getUsersCount(RealmModel realm, String search, Set<String> groupIds)
- Specified by:
getUsersCountin interfaceUserQueryProvider- Specified by:
getUsersCountin interfaceUserQueryProvider.Streams
-
getUsersCount
public int getUsersCount(RealmModel realm, Map<String,String> params)
- Specified by:
getUsersCountin interfaceUserQueryProvider- Specified by:
getUsersCountin interfaceUserQueryProvider.Streams
-
getUsersCount
public int getUsersCount(RealmModel realm, Map<String,String> params, Set<String> groupIds)
- Specified by:
getUsersCountin interfaceUserQueryProvider- Specified by:
getUsersCountin interfaceUserQueryProvider.Streams
-
getUsersStream
public Stream<UserModel> getUsersStream(RealmModel realm, Integer firstResult, Integer maxResults)
- Specified by:
getUsersStreamin interfaceUserQueryProvider- Specified by:
getUsersStreamin interfaceUserQueryProvider.Streams
-
getUsersStream
public Stream<UserModel> getUsersStream(RealmModel realm, Integer firstResult, Integer maxResults, boolean includeServiceAccounts)
- Specified by:
getUsersStreamin interfaceUserProvider- Specified by:
getUsersStreamin interfaceUserProvider.Streams
-
getGroupMembersStream
public Stream<UserModel> getGroupMembersStream(RealmModel realm, GroupModel group, Integer firstResult, Integer maxResults)
- Specified by:
getGroupMembersStreamin interfaceUserQueryProvider- Specified by:
getGroupMembersStreamin interfaceUserQueryProvider.Streams
-
getRoleMembersStream
public Stream<UserModel> getRoleMembersStream(RealmModel realm, RoleModel role, Integer firstResult, Integer maxResults)
- Specified by:
getRoleMembersStreamin interfaceUserQueryProvider
-
searchForUserStream
public Stream<UserModel> searchForUserStream(RealmModel realm, String search, Integer firstResult, Integer maxResults)
- Specified by:
searchForUserStreamin interfaceUserQueryProvider- Specified by:
searchForUserStreamin interfaceUserQueryProvider.Streams
-
searchForUserStream
public Stream<UserModel> searchForUserStream(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults)
- Specified by:
searchForUserStreamin interfaceUserQueryProvider- Specified by:
searchForUserStreamin interfaceUserQueryProvider.Streams
-
searchForUserByUserAttributeStream
public Stream<UserModel> searchForUserByUserAttributeStream(RealmModel realm, String attrName, String attrValue)
- Specified by:
searchForUserByUserAttributeStreamin interfaceUserQueryProvider- Specified by:
searchForUserByUserAttributeStreamin interfaceUserQueryProvider.Streams
-
getFederatedIdentitiesStream
public Stream<FederatedIdentityModel> getFederatedIdentitiesStream(RealmModel realm, UserModel user)
- Specified by:
getFederatedIdentitiesStreamin interfaceUserProvider- Specified by:
getFederatedIdentitiesStreamin interfaceUserProvider.Streams
-
getFederatedIdentity
public FederatedIdentityModel getFederatedIdentity(RealmModel realm, UserModel user, String identityProvider)
- Specified by:
getFederatedIdentityin interfaceUserProvider- Specified by:
getFederatedIdentityin interfaceUserProvider.Streams
-
preRemove
public void preRemove(RealmModel realm, ComponentModel component)
- Specified by:
preRemovein interfaceUserProvider
-
removeConsentByClientStorageProvider
protected void removeConsentByClientStorageProvider(RealmModel realm, String providerId)
-
updateCredential
public void updateCredential(RealmModel realm, UserModel user, CredentialModel cred)
- Specified by:
updateCredentialin interfaceUserCredentialStore
-
createCredential
public CredentialModel createCredential(RealmModel realm, UserModel user, CredentialModel cred)
- Specified by:
createCredentialin interfaceUserCredentialStore
-
removeStoredCredential
public boolean removeStoredCredential(RealmModel realm, UserModel user, String id)
- Specified by:
removeStoredCredentialin interfaceUserCredentialStore
-
getStoredCredentialById
public CredentialModel getStoredCredentialById(RealmModel realm, UserModel user, String id)
- Specified by:
getStoredCredentialByIdin interfaceUserCredentialStore
-
toModel
protected CredentialModel toModel(CredentialEntity entity)
-
getStoredCredentialsStream
public Stream<CredentialModel> getStoredCredentialsStream(RealmModel realm, UserModel user)
- Specified by:
getStoredCredentialsStreamin interfaceUserCredentialStore- Specified by:
getStoredCredentialsStreamin interfaceUserCredentialStore.Streams
-
getStoredCredentialsByTypeStream
public Stream<CredentialModel> getStoredCredentialsByTypeStream(RealmModel realm, UserModel user, String type)
- Specified by:
getStoredCredentialsByTypeStreamin interfaceUserCredentialStore- Specified by:
getStoredCredentialsByTypeStreamin interfaceUserCredentialStore.Streams
-
getStoredCredentialByNameAndType
public CredentialModel getStoredCredentialByNameAndType(RealmModel realm, UserModel user, String name, String type)
- Specified by:
getStoredCredentialByNameAndTypein interfaceUserCredentialStore
-
moveCredentialTo
public boolean moveCredentialTo(RealmModel realm, UserModel user, String id, String newPreviousCredentialId)
- Specified by:
moveCredentialToin interfaceUserCredentialStore
-
ensureEmailConstraint
protected void ensureEmailConstraint(List<UserEntity> users, RealmModel realm)
-
-