public class UserStorageManager extends Object implements UserProvider, OnUserCache, OnCreateComponent, OnUpdateComponent
Modifier and Type | Field and Description |
---|---|
protected KeycloakSession |
session |
Constructor and Description |
---|
UserStorageManager(KeycloakSession session) |
Modifier and Type | Method and Description |
---|---|
void |
addConsent(RealmModel realm,
String userId,
UserConsentModel consent) |
void |
addFederatedIdentity(RealmModel realm,
UserModel user,
FederatedIdentityModel socialLink) |
UserModel |
addUser(RealmModel realm,
String username)
All storage providers that implement this interface will be looped through.
|
UserModel |
addUser(RealmModel realm,
String id,
String username,
boolean addDefaultRoles,
boolean addDefaultRequiredActions)
only used for local storage
|
void |
close() |
protected void |
deleteInvalidUser(RealmModel realm,
UserModel user) |
UserConsentModel |
getConsentByClient(RealmModel realm,
String userId,
String clientInternalId) |
List<UserConsentModel> |
getConsents(RealmModel realm,
String userId) |
static <T> List<T> |
getEnabledStorageProviders(KeycloakSession session,
RealmModel realm,
Class<T> type) |
Set<FederatedIdentityModel> |
getFederatedIdentities(UserModel user,
RealmModel realm) |
FederatedIdentityModel |
getFederatedIdentity(UserModel user,
String socialProvider,
RealmModel realm) |
UserFederatedStorageProvider |
getFederatedStorage() |
List<UserModel> |
getGroupMembers(RealmModel realm,
GroupModel group)
Get users that belong to a specific group.
|
List<UserModel> |
getGroupMembers(RealmModel realm,
GroupModel group,
int firstResult,
int maxResults)
Get users that belong to a specific group.
|
int |
getNotBeforeOfUser(RealmModel realm,
UserModel user) |
List<UserModel> |
getRoleMembers(RealmModel realm,
RoleModel role)
Get users that belong to a specific role.
|
List<UserModel> |
getRoleMembers(RealmModel realm,
RoleModel role,
int firstResult,
int maxResults)
Search for users that have a specific role with a specific roleId.
|
UserModel |
getServiceAccount(ClientModel client) |
static UserStorageProvider |
getStorageProvider(KeycloakSession session,
RealmModel realm,
String componentId) |
static UserStorageProvider |
getStorageProviderInstance(KeycloakSession session,
UserStorageProviderModel model,
UserStorageProviderFactory factory) |
static UserStorageProviderModel |
getStorageProviderModel(RealmModel realm,
String componentId) |
static <T> List<T> |
getStorageProviders(KeycloakSession session,
RealmModel realm,
Class<T> type) |
static List<UserStorageProviderModel> |
getStorageProviders(RealmModel realm) |
UserModel |
getUserByEmail(String email,
RealmModel realm) |
UserModel |
getUserByFederatedIdentity(FederatedIdentityModel socialLink,
RealmModel realm) |
UserModel |
getUserById(String id,
RealmModel realm) |
UserModel |
getUserByUsername(String username,
RealmModel realm) |
List<UserModel> |
getUsers(RealmModel realm) |
List<UserModel> |
getUsers(RealmModel realm,
boolean includeServiceAccounts) |
List<UserModel> |
getUsers(RealmModel realm,
int firstResult,
int maxResults) |
List<UserModel> |
getUsers(RealmModel realm,
int firstResult,
int maxResults,
boolean includeServiceAccounts) |
int |
getUsersCount(Map<String,String> params,
RealmModel realm)
Returns the number of users that match the given filter parameters.
|
int |
getUsersCount(Map<String,String> params,
RealmModel realm,
Set<String> groupIds)
Returns the number of users that match the given filter parameters and is in
at least one of the given groups.
|
int |
getUsersCount(RealmModel realm)
Returns the number of users, without consider any service account.
|
int |
getUsersCount(RealmModel realm,
boolean includeServiceAccount)
Returns the number of users.
|
int |
getUsersCount(RealmModel realm,
Set<String> groupIds)
Returns the number of users that are in at least one of the groups
given.
|
int |
getUsersCount(String search,
RealmModel realm)
Returns the number of users that match the given criteria.
|
int |
getUsersCount(String search,
RealmModel realm,
Set<String> groupIds)
Returns the number of users that match the given criteria and are in
at least one of the groups given.
|
void |
grantToAllUsers(RealmModel realm,
RoleModel role) |
protected List<UserModel> |
importValidation(RealmModel realm,
List<UserModel> users) |
protected UserModel |
importValidation(RealmModel realm,
UserModel user)
Allows a UserStorageProvider to proxy and/or synchronize an imported user.
|
static boolean |
isStorageProviderEnabled(RealmModel realm,
String providerId) |
protected UserProvider |
localStorage() |
void |
onCache(RealmModel realm,
CachedUserModel user,
UserModel delegate) |
void |
onCreate(KeycloakSession session,
RealmModel realm,
ComponentModel model) |
void |
onUpdate(KeycloakSession session,
RealmModel realm,
ComponentModel oldModel,
ComponentModel newModel) |
void |
preRemove(ClientScopeModel clientScope) |
void |
preRemove(ProtocolMapperModel protocolMapper) |
void |
preRemove(RealmModel realm) |
void |
preRemove(RealmModel realm,
ClientModel client) |
void |
preRemove(RealmModel realm,
ComponentModel component) |
void |
preRemove(RealmModel realm,
GroupModel group) |
void |
preRemove(RealmModel realm,
IdentityProviderModel provider) |
void |
preRemove(RealmModel realm,
RoleModel role) |
protected List<UserModel> |
query(org.keycloak.storage.UserStorageManager.PaginatedQuery pagedQuery,
RealmModel realm,
int firstResult,
int maxResults) |
boolean |
removeFederatedIdentity(RealmModel realm,
UserModel user,
String socialProvider) |
void |
removeImportedUsers(RealmModel realm,
String storageProviderId)
Removes any imported users from a specific User Storage Provider.
|
boolean |
removeUser(RealmModel realm,
UserModel user)
Called if user originated from this provider.
|
boolean |
revokeConsentForClient(RealmModel realm,
String userId,
String clientInternalId) |
List<UserModel> |
searchForUser(Map<String,String> attributes,
RealmModel realm)
Search for user by parameter.
|
List<UserModel> |
searchForUser(Map<String,String> attributes,
RealmModel realm,
int firstResult,
int maxResults)
Search for user by parameter.
|
List<UserModel> |
searchForUser(String search,
RealmModel realm)
Search for users with username, email or first + last name that is like search string.
|
List<UserModel> |
searchForUser(String search,
RealmModel realm,
int firstResult,
int maxResults)
Search for users with username, email or first + last name that is like search string.
|
List<UserModel> |
searchForUserByUserAttribute(String attrName,
String attrValue,
RealmModel realm)
Search for users that have a specific attribute with a specific value.
|
void |
setNotBeforeForUser(RealmModel realm,
UserModel user,
int notBefore) |
void |
unlinkUsers(RealmModel realm,
String storageProviderId)
Set federation link to null to imported users of a specific User Storage Provider
|
void |
updateConsent(RealmModel realm,
String userId,
UserConsentModel consent) |
void |
updateFederatedIdentity(RealmModel realm,
UserModel federatedUser,
FederatedIdentityModel federatedIdentityModel) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
countUsersInGroups
protected KeycloakSession session
public UserStorageManager(KeycloakSession session)
public static boolean isStorageProviderEnabled(RealmModel realm, String providerId)
protected UserProvider localStorage()
public static List<UserStorageProviderModel> getStorageProviders(RealmModel realm)
public static UserStorageProvider getStorageProviderInstance(KeycloakSession session, UserStorageProviderModel model, UserStorageProviderFactory factory)
public static <T> List<T> getStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type)
public static <T> List<T> getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class<T> type)
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions)
UserProvider
addUser
in interface UserProvider
public UserModel addUser(RealmModel realm, String username)
UserRegistrationProvider
addUser
in interface UserRegistrationProvider
public static UserStorageProviderModel getStorageProviderModel(RealmModel realm, String componentId)
public static UserStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId)
public boolean removeUser(RealmModel realm, UserModel user)
UserRegistrationProvider
removeUser
in interface UserRegistrationProvider
public UserFederatedStorageProvider getFederatedStorage()
public void addFederatedIdentity(RealmModel realm, UserModel user, FederatedIdentityModel socialLink)
addFederatedIdentity
in interface UserProvider
public void updateFederatedIdentity(RealmModel realm, UserModel federatedUser, FederatedIdentityModel federatedIdentityModel)
updateFederatedIdentity
in interface UserProvider
public boolean removeFederatedIdentity(RealmModel realm, UserModel user, String socialProvider)
removeFederatedIdentity
in interface UserProvider
public void preRemove(RealmModel realm, IdentityProviderModel provider)
preRemove
in interface UserProvider
public void addConsent(RealmModel realm, String userId, UserConsentModel consent)
addConsent
in interface UserProvider
public UserConsentModel getConsentByClient(RealmModel realm, String userId, String clientInternalId)
getConsentByClient
in interface UserProvider
public List<UserConsentModel> getConsents(RealmModel realm, String userId)
getConsents
in interface UserProvider
public void updateConsent(RealmModel realm, String userId, UserConsentModel consent)
updateConsent
in interface UserProvider
public boolean revokeConsentForClient(RealmModel realm, String userId, String clientInternalId)
revokeConsentForClient
in interface UserProvider
public void setNotBeforeForUser(RealmModel realm, UserModel user, int notBefore)
setNotBeforeForUser
in interface UserProvider
public int getNotBeforeOfUser(RealmModel realm, UserModel user)
getNotBeforeOfUser
in interface UserProvider
protected UserModel importValidation(RealmModel realm, UserModel user)
realm
- user
- protected void deleteInvalidUser(RealmModel realm, UserModel user)
protected List<UserModel> importValidation(RealmModel realm, List<UserModel> users)
public UserModel getUserById(String id, RealmModel realm)
getUserById
in interface UserLookupProvider
public List<UserModel> getGroupMembers(RealmModel realm, GroupModel group)
UserQueryProvider
getGroupMembers
in interface UserQueryProvider
UserFederatedStorageProvider
public List<UserModel> getRoleMembers(RealmModel realm, RoleModel role)
UserQueryProvider
getRoleMembers
in interface UserQueryProvider
public UserModel getUserByUsername(String username, RealmModel realm)
getUserByUsername
in interface UserLookupProvider
public UserModel getUserByEmail(String email, RealmModel realm)
getUserByEmail
in interface UserLookupProvider
public UserModel getUserByFederatedIdentity(FederatedIdentityModel socialLink, RealmModel realm)
getUserByFederatedIdentity
in interface UserProvider
public UserModel getServiceAccount(ClientModel client)
getServiceAccount
in interface UserProvider
public List<UserModel> getUsers(RealmModel realm, boolean includeServiceAccounts)
getUsers
in interface UserProvider
public List<UserModel> getUsers(RealmModel realm)
getUsers
in interface UserQueryProvider
public List<UserModel> getUsers(RealmModel realm, int firstResult, int maxResults)
getUsers
in interface UserQueryProvider
public int getUsersCount(RealmModel realm, boolean includeServiceAccount)
UserQueryProvider
getUsersCount
in interface UserQueryProvider
realm
- the realmincludeServiceAccount
- if true, the number of users will also include service accounts. Otherwise, only the number of users.public int getUsersCount(RealmModel realm)
UserQueryProvider
getUsersCount
in interface UserQueryProvider
realm
- the realmpublic int getUsersCount(RealmModel realm, Set<String> groupIds)
UserQueryProvider
getUsersCount
in interface UserQueryProvider
realm
- the realmgroupIds
- set of groups id to check forpublic int getUsersCount(String search, RealmModel realm)
UserQueryProvider
getUsersCount
in interface UserQueryProvider
search
- search criteriarealm
- the realmpublic int getUsersCount(String search, RealmModel realm, Set<String> groupIds)
UserQueryProvider
getUsersCount
in interface UserQueryProvider
search
- search criteriarealm
- the realmgroupIds
- set of groups to check forpublic int getUsersCount(Map<String,String> params, RealmModel realm)
UserQueryProvider
getUsersCount
in interface UserQueryProvider
params
- filter parametersrealm
- the realmpublic int getUsersCount(Map<String,String> params, RealmModel realm, Set<String> groupIds)
UserQueryProvider
getUsersCount
in interface UserQueryProvider
params
- filter parametersrealm
- the realmgroupIds
- set if groups to check forprotected List<UserModel> query(org.keycloak.storage.UserStorageManager.PaginatedQuery pagedQuery, RealmModel realm, int firstResult, int maxResults)
public List<UserModel> getUsers(RealmModel realm, int firstResult, int maxResults, boolean includeServiceAccounts)
getUsers
in interface UserProvider
public List<UserModel> searchForUser(String search, RealmModel realm)
UserQueryProvider
searchForUser
in interface UserQueryProvider
public List<UserModel> searchForUser(String search, RealmModel realm, int firstResult, int maxResults)
UserQueryProvider
searchForUser
in interface UserQueryProvider
public List<UserModel> searchForUser(Map<String,String> attributes, RealmModel realm)
UserQueryProvider
searchForUser
in interface UserQueryProvider
public List<UserModel> searchForUser(Map<String,String> attributes, RealmModel realm, int firstResult, int maxResults)
UserQueryProvider
searchForUser
in interface UserQueryProvider
public List<UserModel> searchForUserByUserAttribute(String attrName, String attrValue, RealmModel realm)
UserQueryProvider
searchForUserByUserAttribute
in interface UserQueryProvider
UserFederatedStorageProvider
public Set<FederatedIdentityModel> getFederatedIdentities(UserModel user, RealmModel realm)
getFederatedIdentities
in interface UserProvider
public FederatedIdentityModel getFederatedIdentity(UserModel user, String socialProvider, RealmModel realm)
getFederatedIdentity
in interface UserProvider
public void grantToAllUsers(RealmModel realm, RoleModel role)
grantToAllUsers
in interface UserBulkUpdateProvider
public List<UserModel> getGroupMembers(RealmModel realm, GroupModel group, int firstResult, int maxResults)
UserQueryProvider
getGroupMembers
in interface UserQueryProvider
UserFederatedStorageProvider
public List<UserModel> getRoleMembers(RealmModel realm, RoleModel role, int firstResult, int maxResults)
UserQueryProvider
getRoleMembers
in interface UserQueryProvider
public void preRemove(RealmModel realm)
preRemove
in interface UserProvider
public void preRemove(RealmModel realm, GroupModel group)
preRemove
in interface UserProvider
public void preRemove(RealmModel realm, RoleModel role)
preRemove
in interface UserProvider
public void preRemove(RealmModel realm, ClientModel client)
preRemove
in interface UserProvider
public void preRemove(ProtocolMapperModel protocolMapper)
preRemove
in interface UserProvider
public void preRemove(ClientScopeModel clientScope)
preRemove
in interface UserProvider
public void preRemove(RealmModel realm, ComponentModel component)
preRemove
in interface UserProvider
public void removeImportedUsers(RealmModel realm, String storageProviderId)
UserProvider
removeImportedUsers
in interface UserProvider
public void unlinkUsers(RealmModel realm, String storageProviderId)
UserProvider
unlinkUsers
in interface UserProvider
public void onCache(RealmModel realm, CachedUserModel user, UserModel delegate)
onCache
in interface OnUserCache
public void close()
close
in interface UserProvider
close
in interface Provider
public void onCreate(KeycloakSession session, RealmModel realm, ComponentModel model)
onCreate
in interface OnCreateComponent
public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel)
onUpdate
in interface OnUpdateComponent
Copyright © 2020 JBoss by Red Hat. All rights reserved.