Package org.keycloak.storage
Class UserStorageManager
- java.lang.Object
-
- org.keycloak.storage.AbstractStorageManager<UserStorageProvider,UserStorageProviderModel>
-
- org.keycloak.storage.UserStorageManager
-
- All Implemented Interfaces:
OnUserCache,UserProvider,Provider,OnCreateComponent,OnUpdateComponent,UserBulkUpdateProvider,UserLookupProvider,UserQueryProvider,UserRegistrationProvider
public class UserStorageManager extends AbstractStorageManager<UserStorageProvider,UserStorageProviderModel> implements UserProvider, OnUserCache, OnCreateComponent, OnUpdateComponent
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.keycloak.models.UserProvider
UserProvider.Streams
-
-
Field Summary
-
Fields inherited from class org.keycloak.storage.AbstractStorageManager
session
-
-
Constructor Summary
Constructors Constructor Description UserStorageManager(KeycloakSession session)
-
Method Summary
-
Methods inherited from class org.keycloak.storage.AbstractStorageManager
consumeEnabledStorageProvidersWithTimeout, flatMapEnabledStorageProvidersWithTimeout, getEnabledStorageProviders, getStorageProviderFactory, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderModel, getStorageProviderModels, getStorageProviderTimeout, mapEnabledStorageProvidersWithTimeout
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.models.UserProvider
getUsersStream, getUsersStream
-
Methods inherited from interface org.keycloak.storage.user.UserQueryProvider
getGroupMembersStream, getRoleMembersStream, getUsersStream, getUsersStream, searchForUserStream, searchForUserStream
-
-
-
-
Constructor Detail
-
UserStorageManager
public UserStorageManager(KeycloakSession session)
-
-
Method Detail
-
localStorage
protected UserProvider localStorage()
-
importValidation
protected UserModel importValidation(RealmModel realm, UserModel user)
Allows a UserStorageProvider to proxy and/or synchronize an imported user.- Parameters:
realm-user-- Returns:
-
getUserByCredential
public CredentialValidationOutput getUserByCredential(RealmModel realm, CredentialInput input)
- Specified by:
getUserByCredentialin interfaceUserLookupProvider
-
deleteInvalidUser
protected void deleteInvalidUser(RealmModel realm, UserModel user)
-
importValidation
protected Stream<UserModel> importValidation(RealmModel realm, Stream<UserModel> users)
-
query
protected Stream<UserModel> query(org.keycloak.storage.UserStorageManager.PaginatedQuery pagedQuery, RealmModel realm, Integer firstResult, Integer maxResults)
-
query
protected Stream<UserModel> query(org.keycloak.storage.UserStorageManager.PaginatedQuery pagedQuery, org.keycloak.storage.UserStorageManager.CountQuery countQuery, RealmModel realm, Integer firstResult, Integer maxResults)
-
addUser
public UserModel addUser(RealmModel realm, String username)
UserRegistrationProvidermethods implementations start here- Specified by:
addUserin interfaceUserRegistrationProvider
-
removeUser
public boolean removeUser(RealmModel realm, UserModel user)
- Specified by:
removeUserin interfaceUserRegistrationProvider
-
getUserById
public UserModel getUserById(RealmModel realm, String id)
UserRegistrationProvidermethods implementations end hereUserLookupProvidermethods implementations start here- Specified by:
getUserByIdin interfaceUserLookupProvider
-
getUserByUsername
public UserModel getUserByUsername(RealmModel realm, String username)
- Specified by:
getUserByUsernamein interfaceUserLookupProvider
-
getUserByEmail
public UserModel getUserByEmail(RealmModel realm, String email)
- Specified by:
getUserByEmailin interfaceUserLookupProvider
-
getGroupMembersStream
public Stream<UserModel> getGroupMembersStream(RealmModel realm, GroupModel group, Integer firstResult, Integer maxResults)
UserLookupProvidermethods implementations end hereUserQueryProvidermethods implementation start here- Specified by:
getGroupMembersStreamin interfaceUserQueryProvider
-
getRoleMembersStream
public Stream<UserModel> getRoleMembersStream(RealmModel realm, RoleModel role, Integer firstResult, Integer maxResults)
- Specified by:
getRoleMembersStreamin interfaceUserQueryProvider
-
getUsersCount
public int getUsersCount(RealmModel realm, boolean includeServiceAccount)
- Specified by:
getUsersCountin interfaceUserQueryProvider
-
getUsersCount
public int getUsersCount(RealmModel realm)
- 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
-
getUsersCount
public int getUsersCount(RealmModel realm, String search, Set<String> groupIds)
- Specified by:
getUsersCountin interfaceUserQueryProvider
-
getUsersCount
public int getUsersCount(RealmModel realm, Map<String,String> params)
- Specified by:
getUsersCountin interfaceUserQueryProvider
-
getUsersCount
public int getUsersCount(RealmModel realm, Map<String,String> params, Set<String> groupIds)
- Specified by:
getUsersCountin interfaceUserQueryProvider
-
searchForUserStream
public Stream<UserModel> searchForUserStream(RealmModel realm, String search, Integer firstResult, Integer maxResults)
- Specified by:
searchForUserStreamin interfaceUserQueryProvider
-
searchForUserStream
public Stream<UserModel> searchForUserStream(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults)
- Specified by:
searchForUserStreamin interfaceUserQueryProvider
-
searchForUserByUserAttributeStream
public Stream<UserModel> searchForUserByUserAttributeStream(RealmModel realm, String attrName, String attrValue)
- Specified by:
searchForUserByUserAttributeStreamin interfaceUserQueryProvider
-
grantToAllUsers
public void grantToAllUsers(RealmModel realm, RoleModel role)
UserQueryProvidermethods implementation end hereUserBulkUpdateProvidermethods implementation start here- Specified by:
grantToAllUsersin interfaceUserBulkUpdateProvider
-
preRemove
public void preRemove(RealmModel realm)
UserBulkUpdateProvidermethods implementation end hereUserStorageProvidermethods implementations start here -> no StorageProviders involved- Specified by:
preRemovein interfaceUserProvider
-
preRemove
public void preRemove(RealmModel realm, GroupModel group)
- Specified by:
preRemovein interfaceUserProvider
-
preRemove
public void preRemove(RealmModel realm, RoleModel role)
- Specified by:
preRemovein interfaceUserProvider
-
addUser
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions)
UserStorageProvidermethods implementation end hereUserProvidermethods implementations start here -> no StorageProviders involved- Specified by:
addUserin interfaceUserProvider
-
addFederatedIdentity
public void addFederatedIdentity(RealmModel realm, UserModel user, FederatedIdentityModel socialLink)
- 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 socialProvider)
- 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 clientInternalId)
- Specified by:
getConsentByClientin interfaceUserProvider
-
getConsentsStream
public Stream<UserConsentModel> getConsentsStream(RealmModel realm, String userId)
- Specified by:
getConsentsStreamin interfaceUserProvider
-
updateConsent
public void updateConsent(RealmModel realm, String userId, UserConsentModel consent)
- Specified by:
updateConsentin interfaceUserProvider
-
revokeConsentForClient
public boolean revokeConsentForClient(RealmModel realm, String userId, String clientInternalId)
- 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
-
getUserByFederatedIdentity
public UserModel getUserByFederatedIdentity(RealmModel realm, FederatedIdentityModel socialLink)
- Specified by:
getUserByFederatedIdentityin interfaceUserProvider
-
getServiceAccount
public UserModel getServiceAccount(ClientModel client)
- Specified by:
getServiceAccountin interfaceUserProvider
-
getFederatedIdentitiesStream
public Stream<FederatedIdentityModel> getFederatedIdentitiesStream(RealmModel realm, UserModel user)
- Specified by:
getFederatedIdentitiesStreamin interfaceUserProvider
-
getFederatedIdentity
public FederatedIdentityModel getFederatedIdentity(RealmModel realm, UserModel user, String socialProvider)
- Specified by:
getFederatedIdentityin 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
-
preRemove
public void preRemove(RealmModel realm, ComponentModel component)
- 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
-
close
public void close()
UserProvidermethods implementations end here- Specified by:
closein interfaceProvider- Specified by:
closein interfaceUserProvider
-
onCreate
public void onCreate(KeycloakSession session, RealmModel realm, ComponentModel model)
- Specified by:
onCreatein interfaceOnCreateComponent
-
onUpdate
public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel)
- Specified by:
onUpdatein interfaceOnUpdateComponent
-
onCache
public void onCache(RealmModel realm, CachedUserModel user, UserModel delegate)
- Specified by:
onCachein interfaceOnUserCache
-
-