keycloak-oidc-service
クラス | 公開メンバ関数 | 静的公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.storage.UserStorageManager クラス
org.keycloak.storage.UserStorageManager の継承関係図
Inheritance graph
org.keycloak.storage.UserStorageManager 連携図
Collaboration graph

クラス

interface  PaginatedQuery
 

公開メンバ関数

 UserStorageManager (KeycloakSession session)
 
UserModel addUser (RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions)
 
UserModel addUser (RealmModel realm, String username)
 
boolean removeUser (RealmModel realm, UserModel user)
 
UserFederatedStorageProvider getFederatedStorage ()
 
void addFederatedIdentity (RealmModel realm, UserModel user, FederatedIdentityModel socialLink)
 
void updateFederatedIdentity (RealmModel realm, UserModel federatedUser, FederatedIdentityModel federatedIdentityModel)
 
boolean removeFederatedIdentity (RealmModel realm, UserModel user, String socialProvider)
 
void addConsent (RealmModel realm, String userId, UserConsentModel consent)
 
UserConsentModel getConsentByClient (RealmModel realm, String userId, String clientInternalId)
 
List< UserConsentModelgetConsents (RealmModel realm, String userId)
 
void updateConsent (RealmModel realm, String userId, UserConsentModel consent)
 
boolean revokeConsentForClient (RealmModel realm, String userId, String clientInternalId)
 
void setNotBeforeForUser (RealmModel realm, UserModel user, int notBefore)
 
int getNotBeforeOfUser (RealmModel realm, UserModel user)
 
UserModel getUserById (String id, RealmModel realm)
 
List< UserModelgetGroupMembers (RealmModel realm, GroupModel group)
 
List< UserModelgetRoleMembers (RealmModel realm, RoleModel role)
 
UserModel getUserByUsername (String username, RealmModel realm)
 
UserModel getUserByEmail (String email, RealmModel realm)
 
UserModel getUserByFederatedIdentity (FederatedIdentityModel socialLink, RealmModel realm)
 
UserModel getServiceAccount (ClientModel client)
 
List< UserModelgetUsers (RealmModel realm, boolean includeServiceAccounts)
 
List< UserModelgetUsers (RealmModel realm)
 
List< UserModelgetUsers (RealmModel realm, int firstResult, int maxResults)
 
int getUsersCount (RealmModel realm, boolean includeServiceAccount)
 
int getUsersCount (RealmModel realm)
 
List< UserModelgetUsers (final RealmModel realm, int firstResult, int maxResults, final boolean includeServiceAccounts)
 
List< UserModelsearchForUser (String search, RealmModel realm)
 
List< UserModelsearchForUser (String search, RealmModel realm, int firstResult, int maxResults)
 
List< UserModelsearchForUser (Map< String, String > attributes, RealmModel realm)
 
List< UserModelsearchForUser (Map< String, String > attributes, RealmModel realm, int firstResult, int maxResults)
 
List< UserModelsearchForUserByUserAttribute (String attrName, String attrValue, RealmModel realm)
 
Set< FederatedIdentityModelgetFederatedIdentities (UserModel user, RealmModel realm)
 
FederatedIdentityModel getFederatedIdentity (UserModel user, String socialProvider, RealmModel realm)
 
void grantToAllUsers (RealmModel realm, RoleModel role)
 
List< UserModelgetGroupMembers (final RealmModel realm, final GroupModel group, int firstResult, int maxResults)
 
List< UserModelgetRoleMembers (final RealmModel realm, final RoleModel role, int firstResult, int maxResults)
 
void preRemove (RealmModel realm)
 
void preRemove (RealmModel realm, GroupModel group)
 
void preRemove (RealmModel realm, RoleModel role)
 
void preRemove (RealmModel realm, ClientModel client)
 
void preRemove (ProtocolMapperModel protocolMapper)
 
void preRemove (ClientScopeModel clientScope)
 
void preRemove (RealmModel realm, ComponentModel component)
 
void removeImportedUsers (RealmModel realm, String storageProviderId)
 
void unlinkUsers (RealmModel realm, String storageProviderId)
 
void onCache (RealmModel realm, CachedUserModel user, UserModel delegate)
 
void close ()
 
void onCreate (KeycloakSession session, RealmModel realm, ComponentModel model)
 
void onUpdate (KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel)
 

静的公開メンバ関数

static boolean isStorageProviderEnabled (RealmModel realm, String providerId)
 
static List< UserStorageProviderModelgetStorageProviders (RealmModel realm)
 
static UserStorageProvider getStorageProviderInstance (KeycloakSession session, UserStorageProviderModel model, UserStorageProviderFactory factory)
 
static< T > List< T > getStorageProviders (KeycloakSession session, RealmModel realm, Class< T > type)
 
static< T > List< T > getEnabledStorageProviders (KeycloakSession session, RealmModel realm, Class< T > type)
 
static UserStorageProviderModel getStorageProviderModel (RealmModel realm, String componentId)
 
static UserStorageProvider getStorageProvider (KeycloakSession session, RealmModel realm, String componentId)
 

限定公開メンバ関数

UserProvider localStorage ()
 
UserModel importValidation (RealmModel realm, UserModel user)
 
void deleteInvalidUser (final RealmModel realm, final UserModel user)
 
List< UserModelimportValidation (RealmModel realm, List< UserModel > users)
 
List< UserModelquery (PaginatedQuery pagedQuery, RealmModel realm, int firstResult, int maxResults)
 

限定公開変数類

KeycloakSession session
 

静的非公開変数類

static final Logger logger = Logger.getLogger(UserStorageManager.class)
 

詳解

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ UserStorageManager()

org.keycloak.storage.UserStorageManager.UserStorageManager ( KeycloakSession  session)
inline
72  {
73  this.session = session;
74  }
KeycloakSession session
Definition: UserStorageManager.java:70

関数詳解

◆ addConsent()

void org.keycloak.storage.UserStorageManager.addConsent ( RealmModel  realm,
String  userId,
UserConsentModel  consent 
)
inline

org.keycloak.models.UserProviderを実装しています。

229  {
230  if (StorageId.isLocalStorage(userId)) {
231  localStorage().addConsent(realm, userId, consent);
232  } else {
233  getFederatedStorage().addConsent(realm, userId, consent);
234  }
235 
236  }
void addConsent(RealmModel realm, String userId, UserConsentModel consent)
void addConsent(RealmModel realm, String userId, UserConsentModel consent)
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ addFederatedIdentity()

void org.keycloak.storage.UserStorageManager.addFederatedIdentity ( RealmModel  realm,
UserModel  user,
FederatedIdentityModel  socialLink 
)
inline

org.keycloak.models.UserProviderを実装しています。

202  {
203  if (StorageId.isLocalStorage(user)) {
204  localStorage().addFederatedIdentity(realm, user, socialLink);
205  } else {
206  getFederatedStorage().addFederatedIdentity(realm, user.getId(), socialLink);
207  }
208  }
void addFederatedIdentity(RealmModel realm, String userId, FederatedIdentityModel socialLink)
void addFederatedIdentity(RealmModel realm, UserModel user, FederatedIdentityModel socialLink)
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ addUser() [1/2]

UserModel org.keycloak.storage.UserStorageManager.addUser ( RealmModel  realm,
String  id,
String  username,
boolean  addDefaultRoles,
boolean  addDefaultRequiredActions 
)
inline

org.keycloak.models.UserProviderを実装しています。

140  {
141  return localStorage().addUser(realm, id, username.toLowerCase(), addDefaultRoles, addDefaultRequiredActions);
142  }
UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions)
UserProvider localStorage()
Definition: UserStorageManager.java:81

◆ addUser() [2/2]

UserModel org.keycloak.storage.UserStorageManager.addUser ( RealmModel  realm,
String  username 
)
inline

org.keycloak.storage.user.UserRegistrationProviderを実装しています。

145  {
146  for (UserRegistrationProvider provider : getEnabledStorageProviders(session, realm, UserRegistrationProvider.class)) {
147  UserModel user = provider.addUser(realm, username);
148  if (user != null) return user;
149  }
150 
151  return localStorage().addUser(realm, username.toLowerCase());
152  }
UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions)
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81

◆ close()

void org.keycloak.storage.UserStorageManager.close ( )
inline

org.keycloak.models.UserProviderを実装しています。

744  {
745  }

◆ deleteInvalidUser()

void org.keycloak.storage.UserStorageManager.deleteInvalidUser ( final RealmModel  realm,
final UserModel  user 
)
inlineprotected
333  {
334  String userId = user.getId();
335  String userName = user.getUsername();
336  UserCache userCache = session.userCache();
337  if (userCache != null) {
338  userCache.evict(realm, user);
339  }
340  runJobInTransaction(session.getKeycloakSessionFactory(), new KeycloakSessionTask() {
341 
342  @Override
343  public void run(KeycloakSession session) {
344  RealmModel realmModel = session.realms().getRealm(realm.getId());
345  if (realmModel == null) return;
346  UserModel deletedUser = session.userLocalStorage().getUserById(userId, realmModel);
347  new UserManager(session).removeUser(realmModel, deletedUser, session.userLocalStorage());
348  logger.debugf("Removed invalid user '%s'", userName);
349  }
350 
351  });
352  }
KeycloakSessionFactory getKeycloakSessionFactory()
KeycloakSession session
Definition: UserStorageManager.java:70
void evict(RealmModel realm, UserModel user)
static final Logger logger
Definition: UserStorageManager.java:68

◆ getConsentByClient()

UserConsentModel org.keycloak.storage.UserStorageManager.getConsentByClient ( RealmModel  realm,
String  userId,
String  clientInternalId 
)
inline

org.keycloak.models.UserProviderを実装しています。

239  {
240  if (StorageId.isLocalStorage(userId)) {
241  return localStorage().getConsentByClient(realm, userId, clientInternalId);
242  } else {
243  return getFederatedStorage().getConsentByClient(realm, userId, clientInternalId);
244  }
245  }
UserConsentModel getConsentByClient(RealmModel realm, String userId, String clientInternalId)
UserConsentModel getConsentByClient(RealmModel realm, String userId, String clientInternalId)
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ getConsents()

List<UserConsentModel> org.keycloak.storage.UserStorageManager.getConsents ( RealmModel  realm,
String  userId 
)
inline

org.keycloak.models.UserProviderを実装しています。

248  {
249  if (StorageId.isLocalStorage(userId)) {
250  return localStorage().getConsents(realm, userId);
251 
252  } else {
253  return getFederatedStorage().getConsents(realm, userId);
254  }
255  }
List< UserConsentModel > getConsents(RealmModel realm, String userId)
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197
List< UserConsentModel > getConsents(RealmModel realm, String userId)

◆ getEnabledStorageProviders()

static <T> List<T> org.keycloak.storage.UserStorageManager.getEnabledStorageProviders ( KeycloakSession  session,
RealmModel  realm,
Class< T >  type 
)
inlinestatic
120  {
121  List<T> list = new LinkedList<>();
122  for (UserStorageProviderModel model : getStorageProviders(realm)) {
123  if (!model.isEnabled()) continue;
124  UserStorageProviderFactory factory = (UserStorageProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(UserStorageProvider.class, model.getProviderId());
125  if (factory == null) {
126  logger.warnv("Configured UserStorageProvider {0} of provider id {1} does not exist in realm {2}", model.getName(), model.getProviderId(), realm.getName());
127  continue;
128  }
129  if (Types.supports(type, factory, UserStorageProviderFactory.class)) {
130  list.add(type.cast(getStorageProviderInstance(session, model, factory)));
131  }
132 
133 
134  }
135  return list;
136  }
< T extends Provider > ProviderFactory< T > getProviderFactory(Class< T > clazz)
static UserStorageProvider getStorageProviderInstance(KeycloakSession session, UserStorageProviderModel model, UserStorageProviderFactory factory)
Definition: UserStorageManager.java:89
KeycloakSessionFactory getKeycloakSessionFactory()
KeycloakSession session
Definition: UserStorageManager.java:70
static List< UserStorageProviderModel > getStorageProviders(RealmModel realm)
Definition: UserStorageManager.java:85
static final Logger logger
Definition: UserStorageManager.java:68

◆ getFederatedIdentities()

Set<FederatedIdentityModel> org.keycloak.storage.UserStorageManager.getFederatedIdentities ( UserModel  user,
RealmModel  realm 
)
inline

org.keycloak.models.UserProviderを実装しています。

588  {
589  if (user == null) throw new IllegalStateException("Federated user no longer valid");
590  Set<FederatedIdentityModel> set = new HashSet<>();
591  if (StorageId.isLocalStorage(user)) {
592  set.addAll(localStorage().getFederatedIdentities(user, realm));
593  }
594  if (getFederatedStorage() != null) set.addAll(getFederatedStorage().getFederatedIdentities(user.getId(), realm));
595  return set;
596  }
Set< FederatedIdentityModel > getFederatedIdentities(UserModel user, RealmModel realm)
Definition: UserStorageManager.java:588
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ getFederatedIdentity()

FederatedIdentityModel org.keycloak.storage.UserStorageManager.getFederatedIdentity ( UserModel  user,
String  socialProvider,
RealmModel  realm 
)
inline

org.keycloak.models.UserProviderを実装しています。

599  {
600  if (user == null) throw new IllegalStateException("Federated user no longer valid");
601  if (StorageId.isLocalStorage(user)) {
602  FederatedIdentityModel model = localStorage().getFederatedIdentity(user, socialProvider, realm);
603  if (model != null) return model;
604  }
605  if (getFederatedStorage() != null) return getFederatedStorage().getFederatedIdentity(user.getId(), socialProvider, realm);
606  else return null;
607  }
FederatedIdentityModel getFederatedIdentity(UserModel user, String socialProvider, RealmModel realm)
UserProvider localStorage()
Definition: UserStorageManager.java:81
FederatedIdentityModel getFederatedIdentity(String userId, String socialProvider, RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ getFederatedStorage()

UserFederatedStorageProvider org.keycloak.storage.UserStorageManager.getFederatedStorage ( )
inline
197  {
198  return session.userFederatedStorage();
199  }
UserFederatedStorageProvider userFederatedStorage()
KeycloakSession session
Definition: UserStorageManager.java:70

◆ getGroupMembers() [1/2]

List<UserModel> org.keycloak.storage.UserStorageManager.getGroupMembers ( RealmModel  realm,
GroupModel  group 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

379  {
380  return getGroupMembers(realm, group, -1, -1);
381  }
List< UserModel > getGroupMembers(RealmModel realm, GroupModel group)
Definition: UserStorageManager.java:379

◆ getGroupMembers() [2/2]

List<UserModel> org.keycloak.storage.UserStorageManager.getGroupMembers ( final RealmModel  realm,
final GroupModel  group,
int  firstResult,
int  maxResults 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

621  {
622  List<UserModel> results = query((provider, first, max) -> {
623  if (provider instanceof UserQueryProvider) {
624  return ((UserQueryProvider)provider).getGroupMembers(realm, group, first, max);
625 
626  } else if (provider instanceof UserFederatedStorageProvider) {
627  List<String> ids = ((UserFederatedStorageProvider)provider).getMembership(realm, group, first, max);
628  List<UserModel> rs = new LinkedList<UserModel>();
629  for (String id : ids) {
630  UserModel user = getUserById(id, realm);
631  if (user != null) rs.add(user);
632  }
633  return rs;
634 
635  }
636  return Collections.EMPTY_LIST;
637  }, realm, firstResult, maxResults);
638  return importValidation(realm, results);
639  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
List< UserModel > query(PaginatedQuery pagedQuery, RealmModel realm, int firstResult, int maxResults)
Definition: UserStorageManager.java:468
List< UserModel > getGroupMembers(RealmModel realm, GroupModel group)
Definition: UserStorageManager.java:379
UserModel getUserById(String id, RealmModel realm)
Definition: UserStorageManager.java:366

◆ getNotBeforeOfUser()

int org.keycloak.storage.UserStorageManager.getNotBeforeOfUser ( RealmModel  realm,
UserModel  user 
)
inline

org.keycloak.models.UserProviderを実装しています。

286  {
287  if (StorageId.isLocalStorage(user)) {
288  return localStorage().getNotBeforeOfUser(realm, user);
289 
290  } else {
291  return getFederatedStorage().getNotBeforeOfUser(realm, user.getId());
292  }
293  }
int getNotBeforeOfUser(RealmModel realm, UserModel user)
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197
int getNotBeforeOfUser(RealmModel realm, String userId)

◆ getRoleMembers() [1/2]

List<UserModel> org.keycloak.storage.UserStorageManager.getRoleMembers ( RealmModel  realm,
RoleModel  role 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

384  {
385  return getRoleMembers(realm, role, -1, -1);
386  }
List< UserModel > getRoleMembers(RealmModel realm, RoleModel role)
Definition: UserStorageManager.java:384

◆ getRoleMembers() [2/2]

List<UserModel> org.keycloak.storage.UserStorageManager.getRoleMembers ( final RealmModel  realm,
final RoleModel  role,
int  firstResult,
int  maxResults 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

642  {
643  List<UserModel> results = query((provider, first, max) -> {
644  if (provider instanceof UserQueryProvider) {
645  return ((UserQueryProvider)provider).getRoleMembers(realm, role, first, max);
646  }
647  return Collections.EMPTY_LIST;
648  }, realm, firstResult, maxResults);
649  return importValidation(realm, results);
650  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
List< UserModel > query(PaginatedQuery pagedQuery, RealmModel realm, int firstResult, int maxResults)
Definition: UserStorageManager.java:468
List< UserModel > getRoleMembers(RealmModel realm, RoleModel role)
Definition: UserStorageManager.java:384

◆ getServiceAccount()

UserModel org.keycloak.storage.UserStorageManager.getServiceAccount ( ClientModel  client)
inline

org.keycloak.models.UserProviderを実装しています。

429  {
430  return localStorage().getServiceAccount(client);
431  }
UserModel getServiceAccount(ClientModel client)
UserProvider localStorage()
Definition: UserStorageManager.java:81

◆ getStorageProvider()

static UserStorageProvider org.keycloak.storage.UserStorageManager.getStorageProvider ( KeycloakSession  session,
RealmModel  realm,
String  componentId 
)
inlinestatic
160  {
161  ComponentModel model = realm.getComponent(componentId);
162  if (model == null) return null;
163  UserStorageProviderModel storageModel = new UserStorageProviderModel(model);
164  UserStorageProviderFactory factory = (UserStorageProviderFactory)session.getKeycloakSessionFactory().getProviderFactory(UserStorageProvider.class, model.getProviderId());
165  if (factory == null) {
166  throw new ModelException("Could not find UserStorageProviderFactory for: " + model.getProviderId());
167  }
168  return getStorageProviderInstance(session, storageModel, factory);
169  }
< T extends Provider > ProviderFactory< T > getProviderFactory(Class< T > clazz)
static UserStorageProvider getStorageProviderInstance(KeycloakSession session, UserStorageProviderModel model, UserStorageProviderFactory factory)
Definition: UserStorageManager.java:89
KeycloakSessionFactory getKeycloakSessionFactory()
KeycloakSession session
Definition: UserStorageManager.java:70

◆ getStorageProviderInstance()

static UserStorageProvider org.keycloak.storage.UserStorageManager.getStorageProviderInstance ( KeycloakSession  session,
UserStorageProviderModel  model,
UserStorageProviderFactory  factory 
)
inlinestatic
89  {
90  UserStorageProvider instance = (UserStorageProvider)session.getAttribute(model.getId());
91  if (instance != null) return instance;
92  instance = factory.create(session, model);
93  if (instance == null) {
94  throw new IllegalStateException("UserStorageProvideFactory (of type " + factory.getClass().getName() + ") produced a null instance");
95  }
96  session.enlistForClose(instance);
97  session.setAttribute(model.getId(), instance);
98  return instance;
99  }
KeycloakSession session
Definition: UserStorageManager.java:70
void setAttribute(String name, Object value)
void enlistForClose(Provider provider)
Object getAttribute(String attribute)

◆ getStorageProviderModel()

static UserStorageProviderModel org.keycloak.storage.UserStorageManager.getStorageProviderModel ( RealmModel  realm,
String  componentId 
)
inlinestatic
154  {
155  ComponentModel model = realm.getComponent(componentId);
156  if (model == null) return null;
157  return new UserStorageProviderModel(model);
158  }

◆ getStorageProviders() [1/2]

static List<UserStorageProviderModel> org.keycloak.storage.UserStorageManager.getStorageProviders ( RealmModel  realm)
inlinestatic
85  {
86  return realm.getUserStorageProviders();
87  }

◆ getStorageProviders() [2/2]

static <T> List<T> org.keycloak.storage.UserStorageManager.getStorageProviders ( KeycloakSession  session,
RealmModel  realm,
Class< T >  type 
)
inlinestatic
102  {
103  List<T> list = new LinkedList<>();
104  for (UserStorageProviderModel model : getStorageProviders(realm)) {
105  UserStorageProviderFactory factory = (UserStorageProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(UserStorageProvider.class, model.getProviderId());
106  if (factory == null) {
107  logger.warnv("Configured UserStorageProvider {0} of provider id {1} does not exist in realm {2}", model.getName(), model.getProviderId(), realm.getName());
108  continue;
109  }
110  if (Types.supports(type, factory, UserStorageProviderFactory.class)) {
111  list.add(type.cast(getStorageProviderInstance(session, model, factory)));
112  }
113 
114 
115  }
116  return list;
117  }
< T extends Provider > ProviderFactory< T > getProviderFactory(Class< T > clazz)
static UserStorageProvider getStorageProviderInstance(KeycloakSession session, UserStorageProviderModel model, UserStorageProviderFactory factory)
Definition: UserStorageManager.java:89
KeycloakSessionFactory getKeycloakSessionFactory()
KeycloakSession session
Definition: UserStorageManager.java:70
static List< UserStorageProviderModel > getStorageProviders(RealmModel realm)
Definition: UserStorageManager.java:85
static final Logger logger
Definition: UserStorageManager.java:68

◆ getUserByEmail()

UserModel org.keycloak.storage.UserStorageManager.getUserByEmail ( String  email,
RealmModel  realm 
)
inline

org.keycloak.storage.user.UserLookupProviderを実装しています。

402  {
403  UserModel user = localStorage().getUserByEmail(email, realm);
404  if (user != null) {
405  return importValidation(realm, user);
406  }
407  for (UserLookupProvider provider : getEnabledStorageProviders(session, realm, UserLookupProvider.class)) {
408  user = provider.getUserByEmail(email, realm);
409  if (user != null) {
410  return user;
411  }
412  }
413  return null;
414  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserModel getUserByEmail(String email, RealmModel realm)

◆ getUserByFederatedIdentity()

UserModel org.keycloak.storage.UserStorageManager.getUserByFederatedIdentity ( FederatedIdentityModel  socialLink,
RealmModel  realm 
)
inline

org.keycloak.models.UserProviderを実装しています。

417  {
418  UserModel user = localStorage().getUserByFederatedIdentity(socialLink, realm);
419  if (user != null) {
420  return importValidation(realm, user);
421  }
422  if (getFederatedStorage() == null) return null;
423  String id = getFederatedStorage().getUserByFederatedIdentity(socialLink, realm);
424  if (id != null) return getUserById(id, realm);
425  return null;
426  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
String getUserByFederatedIdentity(FederatedIdentityModel socialLink, RealmModel realm)
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserModel getUserById(String id, RealmModel realm)
Definition: UserStorageManager.java:366
UserModel getUserByFederatedIdentity(FederatedIdentityModel socialLink, RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ getUserById()

UserModel org.keycloak.storage.UserStorageManager.getUserById ( String  id,
RealmModel  realm 
)
inline

org.keycloak.storage.user.UserLookupProviderを実装しています。

366  {
367  StorageId storageId = new StorageId(id);
368  if (storageId.getProviderId() == null) {
369  UserModel user = localStorage().getUserById(id, realm);
370  return importValidation(realm, user);
371  }
372  UserLookupProvider provider = (UserLookupProvider)getStorageProvider(session, realm, storageId.getProviderId());
373  if (provider == null) return null;
374  if (!isStorageProviderEnabled(realm, storageId.getProviderId())) return null;
375  return provider.getUserById(id, realm);
376  }
static UserStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId)
Definition: UserStorageManager.java:160
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
UserModel getUserById(String id, RealmModel realm)
KeycloakSession session
Definition: UserStorageManager.java:70
UserProvider localStorage()
Definition: UserStorageManager.java:81
static boolean isStorageProviderEnabled(RealmModel realm, String providerId)
Definition: UserStorageManager.java:76

◆ getUserByUsername()

UserModel org.keycloak.storage.UserStorageManager.getUserByUsername ( String  username,
RealmModel  realm 
)
inline

org.keycloak.storage.user.UserLookupProviderを実装しています。

389  {
390  UserModel user = localStorage().getUserByUsername(username, realm);
391  if (user != null) {
392  return importValidation(realm, user);
393  }
394  for (UserLookupProvider provider : getEnabledStorageProviders(session, realm, UserLookupProvider.class)) {
395  user = provider.getUserByUsername(username, realm);
396  if (user != null) return user;
397  }
398  return null;
399  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
UserModel getUserByUsername(String username, RealmModel realm)
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81

◆ getUsers() [1/4]

List<UserModel> org.keycloak.storage.UserStorageManager.getUsers ( RealmModel  realm,
boolean  includeServiceAccounts 
)
inline

org.keycloak.models.UserProviderを実装しています。

434  {
435  return getUsers(realm, 0, Integer.MAX_VALUE - 1, includeServiceAccounts);
436 
437  }
List< UserModel > getUsers(RealmModel realm, boolean includeServiceAccounts)
Definition: UserStorageManager.java:434

◆ getUsers() [2/4]

List<UserModel> org.keycloak.storage.UserStorageManager.getUsers ( RealmModel  realm)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

440  {
441  return getUsers(realm, false);
442  }
List< UserModel > getUsers(RealmModel realm, boolean includeServiceAccounts)
Definition: UserStorageManager.java:434

◆ getUsers() [3/4]

List<UserModel> org.keycloak.storage.UserStorageManager.getUsers ( RealmModel  realm,
int  firstResult,
int  maxResults 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

445  {
446  return getUsers(realm, firstResult, maxResults, false);
447  }
List< UserModel > getUsers(RealmModel realm, boolean includeServiceAccounts)
Definition: UserStorageManager.java:434

◆ getUsers() [4/4]

List<UserModel> org.keycloak.storage.UserStorageManager.getUsers ( final RealmModel  realm,
int  firstResult,
int  maxResults,
final boolean  includeServiceAccounts 
)
inline

org.keycloak.models.UserProviderを実装しています。

514  {
515  List<UserModel> results = query((provider, first, max) -> {
516  if (provider instanceof UserProvider) { // it is local storage
517  return ((UserProvider) provider).getUsers(realm, first, max, includeServiceAccounts);
518  } else if (provider instanceof UserQueryProvider) {
519  return ((UserQueryProvider)provider).getUsers(realm, first, max);
520 
521  }
522  return Collections.EMPTY_LIST;
523  }
524  , realm, firstResult, maxResults);
525  return importValidation(realm, results);
526  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
List< UserModel > getUsers(RealmModel realm, boolean includeServiceAccounts)
Definition: UserStorageManager.java:434
List< UserModel > query(PaginatedQuery pagedQuery, RealmModel realm, int firstResult, int maxResults)
Definition: UserStorageManager.java:468

◆ getUsersCount() [1/2]

int org.keycloak.storage.UserStorageManager.getUsersCount ( RealmModel  realm,
boolean  includeServiceAccount 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

450  {
451  int size = localStorage().getUsersCount(realm, includeServiceAccount);
452  for (UserQueryProvider provider : getEnabledStorageProviders(session, realm, UserQueryProvider.class)) {
453  size += provider.getUsersCount(realm);
454  }
455  return size;
456  }
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81

◆ getUsersCount() [2/2]

int org.keycloak.storage.UserStorageManager.getUsersCount ( RealmModel  realm)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

459  {
460  return getUsersCount(realm, false);
461  }
int getUsersCount(RealmModel realm, boolean includeServiceAccount)
Definition: UserStorageManager.java:450

◆ grantToAllUsers()

void org.keycloak.storage.UserStorageManager.grantToAllUsers ( RealmModel  realm,
RoleModel  role 
)
inline

org.keycloak.storage.user.UserBulkUpdateProviderを実装しています。

610  {
611  List<UserBulkUpdateProvider> storageProviders = getEnabledStorageProviders(session, realm, UserBulkUpdateProvider.class);
612  LinkedList<UserBulkUpdateProvider> providers = new LinkedList<>();
613  providers.add(localStorage());
614  providers.addAll(storageProviders);
615  for (UserBulkUpdateProvider provider : providers) {
616  provider.grantToAllUsers(realm, role);
617  }
618  }
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81

◆ importValidation() [1/2]

UserModel org.keycloak.storage.UserStorageManager.importValidation ( RealmModel  realm,
UserModel  user 
)
inlineprotected

Allows a UserStorageProvider to proxy and/or synchronize an imported user.

引数
realm
user
戻り値
302  {
303  if (user == null || user.getFederationLink() == null) return user;
304  UserStorageProvider provider = getStorageProvider(session, realm, user.getFederationLink());
305  if (provider != null && provider instanceof ImportedUserValidation) {
306  if (!isStorageProviderEnabled(realm, user.getFederationLink())) {
307  return new ReadOnlyUserModelDelegate(user) {
308  @Override
309  public boolean isEnabled() {
310  return false;
311  }
312  };
313  }
314  UserModel validated = ((ImportedUserValidation) provider).validate(realm, user);
315  if (validated == null) {
316  deleteInvalidUser(realm, user);
317  return null;
318  } else {
319  return validated;
320  }
321 
322  } else if (provider == null) {
323  // remove linked user with unknown storage provider.
324  logger.debugf("Removed user with federation link of unknown storage provider '%s'", user.getUsername());
325  deleteInvalidUser(realm, user);
326  return null;
327  } else {
328  return user;
329  }
330 
331  }
static UserStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId)
Definition: UserStorageManager.java:160
void deleteInvalidUser(final RealmModel realm, final UserModel user)
Definition: UserStorageManager.java:333
KeycloakSession session
Definition: UserStorageManager.java:70
static boolean isStorageProviderEnabled(RealmModel realm, String providerId)
Definition: UserStorageManager.java:76
static final Logger logger
Definition: UserStorageManager.java:68

◆ importValidation() [2/2]

List<UserModel> org.keycloak.storage.UserStorageManager.importValidation ( RealmModel  realm,
List< UserModel users 
)
inlineprotected
355  {
356  List<UserModel> tmp = new LinkedList<>();
357  for (UserModel user : users) {
358  UserModel model = importValidation(realm, user);
359  if (model == null) continue;
360  tmp.add(model);
361  }
362  return tmp;
363  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302

◆ isStorageProviderEnabled()

static boolean org.keycloak.storage.UserStorageManager.isStorageProviderEnabled ( RealmModel  realm,
String  providerId 
)
inlinestatic
76  {
77  UserStorageProviderModel model = getStorageProviderModel(realm, providerId);
78  return model.isEnabled();
79  }
static UserStorageProviderModel getStorageProviderModel(RealmModel realm, String componentId)
Definition: UserStorageManager.java:154

◆ localStorage()

UserProvider org.keycloak.storage.UserStorageManager.localStorage ( )
inlineprotected
81  {
82  return session.userLocalStorage();
83  }
KeycloakSession session
Definition: UserStorageManager.java:70

◆ onCache()

void org.keycloak.storage.UserStorageManager.onCache ( RealmModel  realm,
CachedUserModel  user,
UserModel  delegate 
)
inline

org.keycloak.models.cache.OnUserCacheを実装しています。

730  {
731  if (StorageId.isLocalStorage(user)) {
732  if (session.userLocalStorage() instanceof OnUserCache) {
733  ((OnUserCache)session.userLocalStorage()).onCache(realm, user, delegate);
734  }
735  } else {
736  Object provider = getStorageProvider(session, realm, StorageId.resolveProviderId(user));
737  if (provider != null && provider instanceof OnUserCache) {
738  ((OnUserCache)provider).onCache(realm, user, delegate);
739  }
740  }
741  }
static UserStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId)
Definition: UserStorageManager.java:160
void onCache(RealmModel realm, CachedUserModel user, UserModel delegate)
Definition: UserStorageManager.java:730
KeycloakSession session
Definition: UserStorageManager.java:70

◆ onCreate()

void org.keycloak.storage.UserStorageManager.onCreate ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  model 
)
inline

org.keycloak.storage.OnCreateComponentを実装しています。

748  {
749  ComponentFactory factory = ComponentUtil.getComponentFactory(session, model);
750  if (!(factory instanceof UserStorageProviderFactory)) return;
751  new UserStorageSyncManager().notifyToRefreshPeriodicSync(session, realm, new UserStorageProviderModel(model), false);
752 
753  }
KeycloakSession session
Definition: UserStorageManager.java:70

◆ onUpdate()

void org.keycloak.storage.UserStorageManager.onUpdate ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  oldModel,
ComponentModel  newModel 
)
inline

org.keycloak.storage.OnUpdateComponentを実装しています。

756  {
757  ComponentFactory factory = ComponentUtil.getComponentFactory(session, newModel);
758  if (!(factory instanceof UserStorageProviderFactory)) return;
759  UserStorageProviderModel old = new UserStorageProviderModel(oldModel);
760  UserStorageProviderModel newP= new UserStorageProviderModel(newModel);
761  if (old.getChangedSyncPeriod() != newP.getChangedSyncPeriod() || old.getFullSyncPeriod() != newP.getFullSyncPeriod()
762  || old.isImportEnabled() != newP.isImportEnabled()) {
763  new UserStorageSyncManager().notifyToRefreshPeriodicSync(session, realm, new UserStorageProviderModel(newModel), false);
764  }
765 
766  }
KeycloakSession session
Definition: UserStorageManager.java:70

◆ preRemove() [1/7]

void org.keycloak.storage.UserStorageManager.preRemove ( RealmModel  realm)
inline

org.keycloak.models.UserProviderを実装しています。

654  {
655  localStorage().preRemove(realm);
656  if (getFederatedStorage() != null) {
658  for (UserStorageProvider provider : getEnabledStorageProviders(session, realm, UserStorageProvider.class)) {
659  provider.preRemove(realm);
660  }
661  }
662  }
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81
void preRemove(RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ preRemove() [2/7]

void org.keycloak.storage.UserStorageManager.preRemove ( RealmModel  realm,
GroupModel  group 
)
inline

org.keycloak.models.UserProviderを実装しています。

665  {
666  localStorage().preRemove(realm, group);
667  if (getFederatedStorage() != null) {
668  getFederatedStorage().preRemove(realm, group);
669  for (UserStorageProvider provider : getEnabledStorageProviders(session, realm, UserStorageProvider.class)) {
670  provider.preRemove(realm, group);
671  }
672  }
673  }
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81
void preRemove(RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ preRemove() [3/7]

void org.keycloak.storage.UserStorageManager.preRemove ( RealmModel  realm,
RoleModel  role 
)
inline

org.keycloak.models.UserProviderを実装しています。

676  {
677  localStorage().preRemove(realm, role);
678  if (getFederatedStorage() != null) {
679  getFederatedStorage().preRemove(realm, role);
680  for (UserStorageProvider provider : getEnabledStorageProviders(session, realm, UserStorageProvider.class)) {
681  provider.preRemove(realm, role);
682  }
683  }
684  }
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81
void preRemove(RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ preRemove() [4/7]

void org.keycloak.storage.UserStorageManager.preRemove ( RealmModel  realm,
ClientModel  client 
)
inline

org.keycloak.models.UserProviderを実装しています。

687  {
688  localStorage().preRemove(realm, client);
689  if (getFederatedStorage() != null) getFederatedStorage().preRemove(realm, client);
690 
691  }
UserProvider localStorage()
Definition: UserStorageManager.java:81
void preRemove(RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ preRemove() [5/7]

void org.keycloak.storage.UserStorageManager.preRemove ( ProtocolMapperModel  protocolMapper)
inline

org.keycloak.models.UserProviderを実装しています。

694  {
695  localStorage().preRemove(protocolMapper);
696  if (getFederatedStorage() != null) getFederatedStorage().preRemove(protocolMapper);
697  }
UserProvider localStorage()
Definition: UserStorageManager.java:81
void preRemove(RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ preRemove() [6/7]

void org.keycloak.storage.UserStorageManager.preRemove ( ClientScopeModel  clientScope)
inline

org.keycloak.models.UserProviderを実装しています。

700  {
701  localStorage().preRemove(clientScope);
702  if (getFederatedStorage() != null) getFederatedStorage().preRemove(clientScope);
703  }
UserProvider localStorage()
Definition: UserStorageManager.java:81
void preRemove(RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ preRemove() [7/7]

void org.keycloak.storage.UserStorageManager.preRemove ( RealmModel  realm,
ComponentModel  component 
)
inline

org.keycloak.models.UserProviderを実装しています。

706  {
707  if (component.getProviderType().equals(ClientStorageProvider.class.getName())) {
708  localStorage().preRemove(realm, component);
709  if (getFederatedStorage() != null) getFederatedStorage().preRemove(realm, component);
710  return;
711  }
712  if (!component.getProviderType().equals(UserStorageProvider.class.getName())) return;
713  localStorage().preRemove(realm, component);
714  if (getFederatedStorage() != null) getFederatedStorage().preRemove(realm, component);
715  new UserStorageSyncManager().notifyToRefreshPeriodicSync(session, realm, new UserStorageProviderModel(component), true);
716 
717  }
KeycloakSession session
Definition: UserStorageManager.java:70
UserProvider localStorage()
Definition: UserStorageManager.java:81
void preRemove(RealmModel realm)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ query()

List<UserModel> org.keycloak.storage.UserStorageManager.query ( PaginatedQuery  pagedQuery,
RealmModel  realm,
int  firstResult,
int  maxResults 
)
inlineprotected
468  {
469  if (maxResults == 0) return Collections.EMPTY_LIST;
470  if (firstResult < 0) firstResult = 0;
471  if (maxResults < 0) maxResults = Integer.MAX_VALUE - 1;
472 
473  List<UserQueryProvider> storageProviders = getEnabledStorageProviders(session, realm, UserQueryProvider.class);
474  // we can skip rest of method if there are no storage providers
475  if (storageProviders.isEmpty()) {
476  return pagedQuery.query(localStorage(), firstResult, maxResults);
477  }
478  LinkedList<Object> providers = new LinkedList<>();
479  List<UserModel> results = new LinkedList<UserModel>();
480  providers.add(localStorage());
481  providers.addAll(storageProviders);
482  if (getFederatedStorage() != null) providers.add(getFederatedStorage());
483 
484  int leftToRead = maxResults;
485  int leftToFirstResult = firstResult;
486 
487  Iterator<Object> it = providers.iterator();
488  while (it.hasNext() && leftToRead != 0) {
489  Object provider = it.next();
490  boolean exhausted = false;
491  int index = 0;
492  if (leftToFirstResult > 0) {
493  do {
494  int toRead = Math.min(50, leftToFirstResult);
495  List<UserModel> tmp = pagedQuery.query(provider, index, toRead);
496  leftToFirstResult -= tmp.size();
497  index += tmp.size();
498  if (tmp.size() < toRead) {
499  exhausted = true;
500  break;
501  }
502  } while (leftToFirstResult > 0);
503  }
504  if (exhausted) continue;
505  List<UserModel> tmp = pagedQuery.query(provider, index, leftToRead);
506  results.addAll(tmp);
507  if (leftToRead > 0) leftToRead -= tmp.size();
508  }
509 
510  return results;
511  }
KeycloakSession session
Definition: UserStorageManager.java:70
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: UserStorageManager.java:120
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ removeFederatedIdentity()

boolean org.keycloak.storage.UserStorageManager.removeFederatedIdentity ( RealmModel  realm,
UserModel  user,
String  socialProvider 
)
inline

org.keycloak.models.UserProviderを実装しています。

220  {
221  if (StorageId.isLocalStorage(user)) {
222  return localStorage().removeFederatedIdentity(realm, user, socialProvider);
223  } else {
224  return getFederatedStorage().removeFederatedIdentity(realm, user.getId(), socialProvider);
225  }
226  }
boolean removeFederatedIdentity(RealmModel realm, String userId, String socialProvider)
UserProvider localStorage()
Definition: UserStorageManager.java:81
boolean removeFederatedIdentity(RealmModel realm, UserModel user, String socialProvider)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ removeImportedUsers()

void org.keycloak.storage.UserStorageManager.removeImportedUsers ( RealmModel  realm,
String  storageProviderId 
)
inline

org.keycloak.models.UserProviderを実装しています。

720  {
721  localStorage().removeImportedUsers(realm, storageProviderId);
722  }
void removeImportedUsers(RealmModel realm, String storageProviderId)
UserProvider localStorage()
Definition: UserStorageManager.java:81

◆ removeUser()

boolean org.keycloak.storage.UserStorageManager.removeUser ( RealmModel  realm,
UserModel  user 
)
inline

org.keycloak.storage.user.UserRegistrationProviderを実装しています。

172  {
173  if (getFederatedStorage() != null) getFederatedStorage().preRemove(realm, user);
174  StorageId storageId = new StorageId(user.getId());
175  if (storageId.getProviderId() == null) {
176  boolean linkRemoved = true;
177  if (user.getFederationLink() != null) {
178  if (isStorageProviderEnabled(realm, user.getFederationLink())) {
179  UserStorageProvider provider = getStorageProvider(session, realm, user.getFederationLink());
180  if (provider != null && provider instanceof UserRegistrationProvider) {
181  ((UserRegistrationProvider) provider).removeUser(realm, user);
182  }
183  } else {
184  linkRemoved = false;
185  }
186  }
187  return localStorage().removeUser(realm, user) && linkRemoved;
188  }
189  UserRegistrationProvider registry = (UserRegistrationProvider)getStorageProvider(session, realm, storageId.getProviderId());
190  if (registry == null) {
191  throw new ModelException("Could not resolve StorageProvider: " + storageId.getProviderId());
192  }
193  return registry.removeUser(realm, user);
194 
195  }
static UserStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId)
Definition: UserStorageManager.java:160
KeycloakSession session
Definition: UserStorageManager.java:70
UserProvider localStorage()
Definition: UserStorageManager.java:81
static boolean isStorageProviderEnabled(RealmModel realm, String providerId)
Definition: UserStorageManager.java:76
boolean removeUser(RealmModel realm, UserModel user)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ revokeConsentForClient()

boolean org.keycloak.storage.UserStorageManager.revokeConsentForClient ( RealmModel  realm,
String  userId,
String  clientInternalId 
)
inline

org.keycloak.models.UserProviderを実装しています。

268  {
269  if (StorageId.isLocalStorage(userId)) {
270  return localStorage().revokeConsentForClient(realm, userId, clientInternalId);
271  } else {
272  return getFederatedStorage().revokeConsentForClient(realm, userId, clientInternalId);
273  }
274  }
boolean revokeConsentForClient(RealmModel realm, String userId, String clientInternalId)
boolean revokeConsentForClient(RealmModel realm, String userId, String clientInternalId)
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ searchForUser() [1/4]

List<UserModel> org.keycloak.storage.UserStorageManager.searchForUser ( String  search,
RealmModel  realm 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

529  {
530  return searchForUser(search, realm, 0, Integer.MAX_VALUE - 1);
531  }
List< UserModel > searchForUser(String search, RealmModel realm)
Definition: UserStorageManager.java:529

◆ searchForUser() [2/4]

List<UserModel> org.keycloak.storage.UserStorageManager.searchForUser ( String  search,
RealmModel  realm,
int  firstResult,
int  maxResults 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

534  {
535  List<UserModel> results = query((provider, first, max) -> {
536  if (provider instanceof UserQueryProvider) {
537  return ((UserQueryProvider)provider).searchForUser(search, realm, first, max);
538 
539  }
540  return Collections.EMPTY_LIST;
541  }, realm, firstResult, maxResults);
542  return importValidation(realm, results);
543 
544  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
List< UserModel > query(PaginatedQuery pagedQuery, RealmModel realm, int firstResult, int maxResults)
Definition: UserStorageManager.java:468
List< UserModel > searchForUser(String search, RealmModel realm)
Definition: UserStorageManager.java:529

◆ searchForUser() [3/4]

List<UserModel> org.keycloak.storage.UserStorageManager.searchForUser ( Map< String, String >  attributes,
RealmModel  realm 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

547  {
548  List<UserModel> results = searchForUser(attributes, realm, 0, Integer.MAX_VALUE - 1);
549  return importValidation(realm, results);
550  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
List< UserModel > searchForUser(String search, RealmModel realm)
Definition: UserStorageManager.java:529

◆ searchForUser() [4/4]

List<UserModel> org.keycloak.storage.UserStorageManager.searchForUser ( Map< String, String >  attributes,
RealmModel  realm,
int  firstResult,
int  maxResults 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

553  {
554  List<UserModel> results = query((provider, first, max) -> {
555  if (provider instanceof UserQueryProvider) {
556  return ((UserQueryProvider)provider).searchForUser(attributes, realm, first, max);
557 
558  }
559  return Collections.EMPTY_LIST;
560  }
561  , realm, firstResult, maxResults);
562  return importValidation(realm, results);
563 
564  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
List< UserModel > query(PaginatedQuery pagedQuery, RealmModel realm, int firstResult, int maxResults)
Definition: UserStorageManager.java:468
List< UserModel > searchForUser(String search, RealmModel realm)
Definition: UserStorageManager.java:529

◆ searchForUserByUserAttribute()

List<UserModel> org.keycloak.storage.UserStorageManager.searchForUserByUserAttribute ( String  attrName,
String  attrValue,
RealmModel  realm 
)
inline

org.keycloak.storage.user.UserQueryProviderを実装しています。

567  {
568  List<UserModel> results = query((provider, first, max) -> {
569  if (provider instanceof UserQueryProvider) {
570  return ((UserQueryProvider)provider).searchForUserByUserAttribute(attrName, attrValue, realm);
571 
572  } else if (provider instanceof UserFederatedStorageProvider) {
573  List<String> ids = ((UserFederatedStorageProvider)provider).getUsersByUserAttribute(realm, attrName, attrValue);
574  List<UserModel> rs = new LinkedList<>();
575  for (String id : ids) {
576  UserModel user = getUserById(id, realm);
577  if (user != null) rs.add(user);
578  }
579  return rs;
580 
581  }
582  return Collections.EMPTY_LIST;
583  }, realm,0, Integer.MAX_VALUE - 1);
584  return importValidation(realm, results);
585  }
UserModel importValidation(RealmModel realm, UserModel user)
Definition: UserStorageManager.java:302
List< UserModel > searchForUserByUserAttribute(String attrName, String attrValue, RealmModel realm)
Definition: UserStorageManager.java:567
List< UserModel > query(PaginatedQuery pagedQuery, RealmModel realm, int firstResult, int maxResults)
Definition: UserStorageManager.java:468
UserModel getUserById(String id, RealmModel realm)
Definition: UserStorageManager.java:366

◆ setNotBeforeForUser()

void org.keycloak.storage.UserStorageManager.setNotBeforeForUser ( RealmModel  realm,
UserModel  user,
int  notBefore 
)
inline

org.keycloak.models.UserProviderを実装しています。

277  {
278  if (StorageId.isLocalStorage(user)) {
279  localStorage().setNotBeforeForUser(realm, user, notBefore);
280  } else {
281  getFederatedStorage().setNotBeforeForUser(realm, user.getId(), notBefore);
282  }
283  }
void setNotBeforeForUser(RealmModel realm, String userId, int notBefore)
UserProvider localStorage()
Definition: UserStorageManager.java:81
void setNotBeforeForUser(RealmModel realm, UserModel user, int notBefore)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ unlinkUsers()

void org.keycloak.storage.UserStorageManager.unlinkUsers ( RealmModel  realm,
String  storageProviderId 
)
inline

org.keycloak.models.UserProviderを実装しています。

725  {
726  localStorage().unlinkUsers(realm, storageProviderId);
727  }
void unlinkUsers(RealmModel realm, String storageProviderId)
UserProvider localStorage()
Definition: UserStorageManager.java:81

◆ updateConsent()

void org.keycloak.storage.UserStorageManager.updateConsent ( RealmModel  realm,
String  userId,
UserConsentModel  consent 
)
inline

org.keycloak.models.UserProviderを実装しています。

258  {
259  if (StorageId.isLocalStorage(userId)) {
260  localStorage().updateConsent(realm, userId, consent);
261  } else {
262  getFederatedStorage().updateConsent(realm, userId, consent);
263  }
264 
265  }
void updateConsent(RealmModel realm, String userId, UserConsentModel consent)
void updateConsent(RealmModel realm, String userId, UserConsentModel consent)
UserProvider localStorage()
Definition: UserStorageManager.java:81
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

◆ updateFederatedIdentity()

void org.keycloak.storage.UserStorageManager.updateFederatedIdentity ( RealmModel  realm,
UserModel  federatedUser,
FederatedIdentityModel  federatedIdentityModel 
)
inline

org.keycloak.models.UserProviderを実装しています。

210  {
211  if (StorageId.isLocalStorage(federatedUser)) {
212  localStorage().updateFederatedIdentity(realm, federatedUser, federatedIdentityModel);
213 
214  } else {
215  getFederatedStorage().updateFederatedIdentity(realm, federatedUser.getId(), federatedIdentityModel);
216  }
217  }
void updateFederatedIdentity(RealmModel realm, String userId, FederatedIdentityModel federatedIdentityModel)
UserProvider localStorage()
Definition: UserStorageManager.java:81
void updateFederatedIdentity(RealmModel realm, UserModel federatedUser, FederatedIdentityModel federatedIdentityModel)
UserFederatedStorageProvider getFederatedStorage()
Definition: UserStorageManager.java:197

メンバ詳解

◆ logger

final Logger org.keycloak.storage.UserStorageManager.logger = Logger.getLogger(UserStorageManager.class)
staticprivate

◆ session

KeycloakSession org.keycloak.storage.UserStorageManager.session
protected

このクラス詳解は次のファイルから抽出されました: