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

公開メンバ関数

 AdminEventBuilder (RealmModel realm, AdminAuth auth, KeycloakSession session, ClientConnection clientConnection)
 
AdminEventBuilder realm (RealmModel realm)
 
AdminEventBuilder realm (String realmId)
 
AdminEventBuilder refreshRealmEventsConfig (KeycloakSession session)
 
AdminEventBuilder operation (OperationType operationType)
 
AdminEventBuilder resource (ResourceType resourceType)
 
AdminEventBuilder authRealm (RealmModel realm)
 
AdminEventBuilder authClient (ClientModel client)
 
AdminEventBuilder authUser (UserModel user)
 
AdminEventBuilder authIpAddress (String ipAddress)
 
AdminEventBuilder resourcePath (String... pathElements)
 
AdminEventBuilder resourcePath (UriInfo uriInfo)
 
AdminEventBuilder resourcePath (UriInfo uriInfo, String id)
 
AdminEventBuilder representation (Object value)
 
AdminEvent getEvent ()
 
void success ()
 

静的限定公開変数類

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

非公開メンバ関数

AdminEventBuilder updateStore (KeycloakSession session)
 
AdminEventBuilder addListeners (KeycloakSession session)
 
String getResourcePath (UriInfo uriInfo)
 
void send ()
 

非公開変数類

EventStoreProvider store
 
Map< String, EventListenerProvider > listeners
 
RealmModel realm
 
AdminEvent adminEvent
 

詳解

構築子と解体子

◆ AdminEventBuilder()

org.keycloak.services.resources.admin.AdminEventBuilder.AdminEventBuilder ( RealmModel  realm,
AdminAuth  auth,
KeycloakSession  session,
ClientConnection  clientConnection 
)
inline
50  {
51  this.realm = realm;
52  adminEvent = new AdminEvent();
53 
54  this.listeners = new HashMap<>();
55  updateStore(session);
56  addListeners(session);
57 
58  authRealm(auth.getRealm());
59  authClient(auth.getClient());
60  authUser(auth.getUser());
61  authIpAddress(clientConnection.getRemoteAddr());
62  }
AdminEventBuilder addListeners(KeycloakSession session)
Definition: AdminEventBuilder.java:96
AdminEventBuilder authUser(UserModel user)
Definition: AdminEventBuilder.java:147
AdminEventBuilder updateStore(KeycloakSession session)
Definition: AdminEventBuilder.java:86
AdminEventBuilder authClient(ClientModel client)
Definition: AdminEventBuilder.java:135
RealmModel realm
Definition: AdminEventBuilder.java:47
AdminEventBuilder authIpAddress(String ipAddress)
Definition: AdminEventBuilder.java:159
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48
Map< String, EventListenerProvider > listeners
Definition: AdminEventBuilder.java:46
AdminEventBuilder authRealm(RealmModel realm)
Definition: AdminEventBuilder.java:123

関数詳解

◆ addListeners()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.addListeners ( KeycloakSession  session)
inlineprivate
96  {
97  Set<String> extraListeners = realm.getEventsListeners();
98  if (extraListeners != null && !extraListeners.isEmpty()) {
99  for (String id : extraListeners) {
100  if (!listeners.containsKey(id)) {
101  EventListenerProvider listener = session.getProvider(EventListenerProvider.class, id);
102  if (listener != null) {
103  listeners.put(id, listener);
104  } else {
105  ServicesLogger.LOGGER.providerNotFound(id);
106  }
107  }
108  }
109  }
110  return this;
111  }
RealmModel realm
Definition: AdminEventBuilder.java:47
Map< String, EventListenerProvider > listeners
Definition: AdminEventBuilder.java:46

◆ authClient()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.authClient ( ClientModel  client)
inline
135  {
136  AuthDetails authDetails = adminEvent.getAuthDetails();
137  if(authDetails == null) {
138  authDetails = new AuthDetails();
139  authDetails.setClientId(client.getId());
140  } else {
141  authDetails.setClientId(client.getId());
142  }
143  adminEvent.setAuthDetails(authDetails);
144  return this;
145  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ authIpAddress()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.authIpAddress ( String  ipAddress)
inline
159  {
160  AuthDetails authDetails = adminEvent.getAuthDetails();
161  if(authDetails == null) {
162  authDetails = new AuthDetails();
163  authDetails.setIpAddress(ipAddress);
164  } else {
165  authDetails.setIpAddress(ipAddress);
166  }
167  adminEvent.setAuthDetails(authDetails);
168  return this;
169  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ authRealm()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.authRealm ( RealmModel  realm)
inline
123  {
124  AuthDetails authDetails = adminEvent.getAuthDetails();
125  if(authDetails == null) {
126  authDetails = new AuthDetails();
127  authDetails.setRealmId(realm.getId());
128  } else {
129  authDetails.setRealmId(realm.getId());
130  }
131  adminEvent.setAuthDetails(authDetails);
132  return this;
133  }
RealmModel realm
Definition: AdminEventBuilder.java:47
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ authUser()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.authUser ( UserModel  user)
inline
147  {
148  AuthDetails authDetails = adminEvent.getAuthDetails();
149  if(authDetails == null) {
150  authDetails = new AuthDetails();
151  authDetails.setUserId(user.getId());
152  } else {
153  authDetails.setUserId(user.getId());
154  }
155  adminEvent.setAuthDetails(authDetails);
156  return this;
157  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ getEvent()

AdminEvent org.keycloak.services.resources.admin.AdminEventBuilder.getEvent ( )
inline
222  {
223  return adminEvent;
224  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ getResourcePath()

String org.keycloak.services.resources.admin.AdminEventBuilder.getResourcePath ( UriInfo  uriInfo)
inlineprivate
198  {
199  String path = uriInfo.getPath();
200 
201  StringBuilder sb = new StringBuilder();
202  sb.append("/realms/");
203  sb.append(realm.getName());
204  sb.append("/");
205  String realmRelative = sb.toString();
206 
207  return path.substring(path.indexOf(realmRelative) + realmRelative.length());
208  }
RealmModel realm
Definition: AdminEventBuilder.java:47

◆ operation()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.operation ( OperationType  operationType)
inline
113  {
114  adminEvent.setOperationType(operationType);
115  return this;
116  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ realm() [1/2]

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.realm ( RealmModel  realm)
inline
64  {
65  adminEvent.setRealmId(realm.getId());
66  return this;
67  }
RealmModel realm
Definition: AdminEventBuilder.java:47
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ realm() [2/2]

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.realm ( String  realmId)
inline
69  {
70  adminEvent.setRealmId(realmId);
71  return this;
72  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ refreshRealmEventsConfig()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.refreshRealmEventsConfig ( KeycloakSession  session)
inline

Refreshes the builder assuming that the realm event information has changed. Thought to be used when the updateRealmEventsConfig has modified the events configuration. Now the store and the listeners are updated to have previous and new setup.

引数
sessionThe session
戻り値
The same builder
82  {
83  return this.updateStore(session).addListeners(session);
84  }
AdminEventBuilder addListeners(KeycloakSession session)
Definition: AdminEventBuilder.java:96
AdminEventBuilder updateStore(KeycloakSession session)
Definition: AdminEventBuilder.java:86

◆ representation()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.representation ( Object  value)
inline
210  {
211  if (value == null || value.equals("")) {
212  return this;
213  }
214  try {
215  adminEvent.setRepresentation(JsonSerialization.writeValueAsString(value));
216  } catch (IOException e) {
217  throw new RuntimeException(e);
218  }
219  return this;
220  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ resource()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.resource ( ResourceType  resourceType)
inline
118  {
119  adminEvent.setResourceType(resourceType);
120  return this;
121  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ resourcePath() [1/3]

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.resourcePath ( String...  pathElements)
inline
171  {
172  StringBuilder sb = new StringBuilder();
173  for (String element : pathElements) {
174  sb.append("/");
175  sb.append(element);
176  }
177  if (pathElements.length > 0) sb.deleteCharAt(0); // remove leading '/'
178 
179  adminEvent.setResourcePath(sb.toString());
180  return this;
181  }
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ resourcePath() [2/3]

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.resourcePath ( UriInfo  uriInfo)
inline
183  {
184  String path = getResourcePath(uriInfo);
185  adminEvent.setResourcePath(path);
186  return this;
187  }
String getResourcePath(UriInfo uriInfo)
Definition: AdminEventBuilder.java:198
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ resourcePath() [3/3]

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.resourcePath ( UriInfo  uriInfo,
String  id 
)
inline
189  {
190  StringBuilder sb = new StringBuilder();
191  sb.append(getResourcePath(uriInfo));
192  sb.append("/");
193  sb.append(id);
194  adminEvent.setResourcePath(sb.toString());
195  return this;
196  }
String getResourcePath(UriInfo uriInfo)
Definition: AdminEventBuilder.java:198
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48

◆ send()

void org.keycloak.services.resources.admin.AdminEventBuilder.send ( )
inlineprivate
230  {
231  boolean includeRepresentation = false;
232  if(realm.isAdminEventsDetailsEnabled()) {
233  includeRepresentation = true;
234  }
235  adminEvent.setTime(Time.toMillis(Time.currentTime()));
236 
237  if (store != null) {
238  try {
239  store.onEvent(adminEvent, includeRepresentation);
240  } catch (Throwable t) {
241  ServicesLogger.LOGGER.failedToSaveEvent(t);
242  }
243  }
244 
245  if (listeners != null) {
246  for (EventListenerProvider l : listeners.values()) {
247  try {
248  l.onEvent(adminEvent, includeRepresentation);
249  } catch (Throwable t) {
250  ServicesLogger.LOGGER.failedToSendType(t, l);
251  }
252  }
253  }
254  }
EventStoreProvider store
Definition: AdminEventBuilder.java:45
RealmModel realm
Definition: AdminEventBuilder.java:47
AdminEvent adminEvent
Definition: AdminEventBuilder.java:48
Map< String, EventListenerProvider > listeners
Definition: AdminEventBuilder.java:46

◆ success()

void org.keycloak.services.resources.admin.AdminEventBuilder.success ( )
inline
226  {
227  send();
228  }
void send()
Definition: AdminEventBuilder.java:230

◆ updateStore()

AdminEventBuilder org.keycloak.services.resources.admin.AdminEventBuilder.updateStore ( KeycloakSession  session)
inlineprivate
86  {
87  if (realm.isAdminEventsEnabled() && store == null) {
88  this.store = session.getProvider(EventStoreProvider.class);
89  if (store == null) {
90  ServicesLogger.LOGGER.noEventStoreProvider();
91  }
92  }
93  return this;
94  }
EventStoreProvider store
Definition: AdminEventBuilder.java:45
RealmModel realm
Definition: AdminEventBuilder.java:47

メンバ詳解

◆ adminEvent

AdminEvent org.keycloak.services.resources.admin.AdminEventBuilder.adminEvent
private

◆ listeners

Map<String, EventListenerProvider> org.keycloak.services.resources.admin.AdminEventBuilder.listeners
private

◆ logger

final Logger org.keycloak.services.resources.admin.AdminEventBuilder.logger = Logger.getLogger(AdminEventBuilder.class)
staticprotected

◆ realm

RealmModel org.keycloak.services.resources.admin.AdminEventBuilder.realm
private

◆ store

EventStoreProvider org.keycloak.services.resources.admin.AdminEventBuilder.store
private

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