keycloak-service
公開メンバ関数 | 限定公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.services.resources.admin.UserStorageProviderResource クラス
org.keycloak.services.resources.admin.UserStorageProviderResource 連携図
Collaboration graph

公開メンバ関数

 UserStorageProviderResource (RealmModel realm, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent)
 
Map< String, String > getSimpleName (@PathParam("id") String id)
 
SynchronizationResult syncUsers (@PathParam("id") String id, @QueryParam("action") String action)
 
void removeImportedUsers (@PathParam("id") String id)
 
void unlinkUsers (@PathParam("id") String id)
 
SynchronizationResult syncMapperData (@PathParam("parentId") String parentId, @PathParam("id") String mapperId, @QueryParam("direction") String direction)
 

限定公開変数類

RealmModel realm
 
AdminPermissionEvaluator auth
 
AdminEventBuilder adminEvent
 
ClientConnection clientConnection
 
KeycloakSession session
 
HttpHeaders headers
 

静的非公開変数類

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

詳解

User Storage Provider

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ UserStorageProviderResource()

org.keycloak.services.resources.admin.UserStorageProviderResource.UserStorageProviderResource ( RealmModel  realm,
AdminPermissionEvaluator  auth,
AdminEventBuilder  adminEvent 
)
inline
72  {
73  this.auth = auth;
74  this.realm = realm;
75  this.adminEvent = adminEvent;
76  }
AdminEventBuilder adminEvent
Definition: UserStorageProviderResource.java:61
RealmModel realm
Definition: UserStorageProviderResource.java:57
AdminPermissionEvaluator auth
Definition: UserStorageProviderResource.java:59

関数詳解

◆ getSimpleName()

Map<String, String> org.keycloak.services.resources.admin.UserStorageProviderResource.getSimpleName ( @PathParam("id") String  id)
inline

Need this for admin console to display simple name of provider when displaying user detail

KEYCLOAK-4328

引数
id
戻り値
90  {
92 
93  ComponentModel model = realm.getComponent(id);
94  if (model == null) {
95  throw new NotFoundException("Could not find component");
96  }
97  if (!model.getProviderType().equals(UserStorageProvider.class.getName())) {
98  throw new NotFoundException("found, but not a UserStorageProvider");
99  }
100 
101  Map<String, String> data = new HashMap<>();
102  data.put("id", model.getId());
103  data.put("name", model.getName());
104  return data;
105  }
RealmModel realm
Definition: UserStorageProviderResource.java:57
AdminPermissionEvaluator auth
Definition: UserStorageProviderResource.java:59

◆ removeImportedUsers()

void org.keycloak.services.resources.admin.UserStorageProviderResource.removeImportedUsers ( @PathParam("id") String  id)
inline

Remove imported users

引数
id
戻り値
167  {
169 
170  ComponentModel model = realm.getComponent(id);
171  if (model == null) {
172  throw new NotFoundException("Could not find component");
173  }
174  if (!model.getProviderType().equals(UserStorageProvider.class.getName())) {
175  throw new NotFoundException("found, but not a UserStorageProvider");
176  }
177 
178  session.users().removeImportedUsers(realm, id);
179  }
KeycloakSession session
Definition: UserStorageProviderResource.java:67
RealmModel realm
Definition: UserStorageProviderResource.java:57
AdminPermissionEvaluator auth
Definition: UserStorageProviderResource.java:59

◆ syncMapperData()

SynchronizationResult org.keycloak.services.resources.admin.UserStorageProviderResource.syncMapperData ( @PathParam("parentId") String  parentId,
@PathParam("id") String  mapperId,
@QueryParam("direction") String  direction 
)
inline

Trigger sync of mapper data related to ldap mapper (roles, groups, ...)

direction is "fedToKeycloak" or "keycloakToFed"

戻り値
215  {
217 
218  ComponentModel parentModel = realm.getComponent(parentId);
219  if (parentModel == null) throw new NotFoundException("Parent model not found");
220  ComponentModel mapperModel = realm.getComponent(mapperId);
221  if (mapperModel == null) throw new NotFoundException("Mapper model not found");
222 
223  LDAPStorageProvider ldapProvider = (LDAPStorageProvider) session.getProvider(UserStorageProvider.class, parentModel);
224  LDAPStorageMapper mapper = session.getProvider(LDAPStorageMapper.class, mapperModel);
225 
226  ServicesLogger.LOGGER.syncingDataForMapper(mapperModel.getName(), mapperModel.getProviderId(), direction);
227 
228  SynchronizationResult syncResult;
229  if ("fedToKeycloak".equals(direction)) {
230  syncResult = mapper.syncDataFromFederationProviderToKeycloak(realm);
231  } else if ("keycloakToFed".equals(direction)) {
232  syncResult = mapper.syncDataFromKeycloakToFederationProvider(realm);
233  } else {
234  throw new BadRequestException("Unknown direction: " + direction);
235  }
236 
237  Map<String, Object> eventRep = new HashMap<>();
238  eventRep.put("action", direction);
239  eventRep.put("result", syncResult);
240  adminEvent.operation(OperationType.ACTION).resourcePath(session.getContext().getUri()).representation(eventRep).success();
241  return syncResult;
242  }
AdminEventBuilder adminEvent
Definition: UserStorageProviderResource.java:61
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
KeycloakSession session
Definition: UserStorageProviderResource.java:67
void success()
Definition: AdminEventBuilder.java:226
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
RealmModel realm
Definition: UserStorageProviderResource.java:57
AdminPermissionEvaluator auth
Definition: UserStorageProviderResource.java:59

◆ syncUsers()

SynchronizationResult org.keycloak.services.resources.admin.UserStorageProviderResource.syncUsers ( @PathParam("id") String  id,
@QueryParam("action") String  action 
)
inline

Trigger sync of users

Action can be "triggerFullSync" or "triggerChangedUsersSync"

引数
id
action
戻り値
122  {
124 
125  ComponentModel model = realm.getComponent(id);
126  if (model == null) {
127  throw new NotFoundException("Could not find component");
128  }
129  if (!model.getProviderType().equals(UserStorageProvider.class.getName())) {
130  throw new NotFoundException("found, but not a UserStorageProvider");
131  }
132 
133  UserStorageProviderModel providerModel = new UserStorageProviderModel(model);
134 
135 
136 
137  logger.debug("Syncing users");
138 
139  UserStorageSyncManager syncManager = new UserStorageSyncManager();
140  SynchronizationResult syncResult;
141  if ("triggerFullSync".equals(action)) {
142  syncResult = syncManager.syncAllUsers(session.getKeycloakSessionFactory(), realm.getId(), providerModel);
143  } else if ("triggerChangedUsersSync".equals(action)) {
144  syncResult = syncManager.syncChangedUsers(session.getKeycloakSessionFactory(), realm.getId(), providerModel);
145  } else {
146  throw new NotFoundException("Unknown action: " + action);
147  }
148 
149  Map<String, Object> eventRep = new HashMap<>();
150  eventRep.put("action", action);
151  eventRep.put("result", syncResult);
152  adminEvent.operation(OperationType.ACTION).resourcePath(session.getContext().getUri()).representation(eventRep).success();
153 
154  return syncResult;
155  }
AdminEventBuilder adminEvent
Definition: UserStorageProviderResource.java:61
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
KeycloakSession session
Definition: UserStorageProviderResource.java:67
void success()
Definition: AdminEventBuilder.java:226
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
RealmModel realm
Definition: UserStorageProviderResource.java:57
AdminPermissionEvaluator auth
Definition: UserStorageProviderResource.java:59
static final Logger logger
Definition: UserStorageProviderResource.java:55

◆ unlinkUsers()

void org.keycloak.services.resources.admin.UserStorageProviderResource.unlinkUsers ( @PathParam("id") String  id)
inline

Unlink imported users from a storage provider

引数
id
戻り値
190  {
192 
193  ComponentModel model = realm.getComponent(id);
194  if (model == null) {
195  throw new NotFoundException("Could not find component");
196  }
197  if (!model.getProviderType().equals(UserStorageProvider.class.getName())) {
198  throw new NotFoundException("found, but not a UserStorageProvider");
199  }
200 
201  session.users().unlinkUsers(realm, id);
202  }
KeycloakSession session
Definition: UserStorageProviderResource.java:67
RealmModel realm
Definition: UserStorageProviderResource.java:57
AdminPermissionEvaluator auth
Definition: UserStorageProviderResource.java:59

メンバ詳解

◆ adminEvent

AdminEventBuilder org.keycloak.services.resources.admin.UserStorageProviderResource.adminEvent
protected

◆ auth

AdminPermissionEvaluator org.keycloak.services.resources.admin.UserStorageProviderResource.auth
protected

◆ clientConnection

ClientConnection org.keycloak.services.resources.admin.UserStorageProviderResource.clientConnection
protected

◆ headers

HttpHeaders org.keycloak.services.resources.admin.UserStorageProviderResource.headers
protected

◆ logger

final Logger org.keycloak.services.resources.admin.UserStorageProviderResource.logger = Logger.getLogger(UserStorageProviderResource.class)
staticprivate

◆ realm

RealmModel org.keycloak.services.resources.admin.UserStorageProviderResource.realm
protected

◆ session

KeycloakSession org.keycloak.services.resources.admin.UserStorageProviderResource.session
protected

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