keycloak
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.events.EventBuilder クラス
org.keycloak.events.EventBuilder 連携図
Collaboration graph

公開メンバ関数

 EventBuilder (RealmModel realm, KeycloakSession session, ClientConnection clientConnection)
 
EventBuilder realm (RealmModel realm)
 
EventBuilder realm (String realmId)
 
EventBuilder client (ClientModel client)
 
EventBuilder client (String clientId)
 
EventBuilder user (UserModel user)
 
EventBuilder user (String userId)
 
EventBuilder session (UserSessionModel session)
 
EventBuilder session (String sessionId)
 
EventBuilder ipAddress (String ipAddress)
 
EventBuilder event (EventType e)
 
EventBuilder detail (String key, String value)
 
EventBuilder removeDetail (String key)
 
Event getEvent ()
 
void success ()
 
void error (String error)
 
EventBuilder clone ()
 

非公開メンバ関数

 EventBuilder (EventStoreProvider store, List< EventListenerProvider > listeners, RealmModel realm, Event event)
 
void send ()
 

非公開変数類

EventStoreProvider store
 
List< EventListenerProviderlisteners
 
RealmModel realm
 
Event event
 

静的非公開変数類

static final Logger log = Logger.getLogger(EventBuilder.class)
 

詳解

著者
Stian Thorgersen

構築子と解体子

◆ EventBuilder() [1/2]

org.keycloak.events.EventBuilder.EventBuilder ( RealmModel  realm,
KeycloakSession  session,
ClientConnection  clientConnection 
)
inline
46  {
47  this.realm = realm;
48 
49  event = new Event();
50 
51  if (realm.isEventsEnabled()) {
52  EventStoreProvider store = session.getProvider(EventStoreProvider.class);
53  if (store != null) {
54  this.store = store;
55  } else {
56  log.error("Events enabled, but no event store provider configured");
57  }
58  }
59 
60  if (realm.getEventsListeners() != null && !realm.getEventsListeners().isEmpty()) {
61  this.listeners = new LinkedList<>();
62  for (String id : realm.getEventsListeners()) {
63  EventListenerProvider listener = session.getProvider(EventListenerProvider.class, id);
64  if (listener != null) {
65  listeners.add(listener);
66  } else {
67  log.error("Event listener '" + id + "' registered, but provider not found");
68  }
69  }
70  }
71 
72  realm(realm);
73  ipAddress(clientConnection.getRemoteAddr());
74  }
RealmModel realm
Definition: EventBuilder.java:43
EventBuilder ipAddress(String ipAddress)
Definition: EventBuilder.java:123
static final Logger log
Definition: EventBuilder.java:39
List< EventListenerProvider > listeners
Definition: EventBuilder.java:42
EventStoreProvider store
Definition: EventBuilder.java:41
EventBuilder session(UserSessionModel session)
Definition: EventBuilder.java:113
Set< String > getEventsListeners()

◆ EventBuilder() [2/2]

org.keycloak.events.EventBuilder.EventBuilder ( EventStoreProvider  store,
List< EventListenerProvider listeners,
RealmModel  realm,
Event  event 
)
inlineprivate
76  {
77  this.store = store;
78  this.listeners = listeners;
79  this.realm = realm;
80  this.event = event;
81  }
RealmModel realm
Definition: EventBuilder.java:43
List< EventListenerProvider > listeners
Definition: EventBuilder.java:42
EventStoreProvider store
Definition: EventBuilder.java:41
Event event
Definition: EventBuilder.java:44

関数詳解

◆ client() [1/2]

EventBuilder org.keycloak.events.EventBuilder.client ( ClientModel  client)
inline
93  {
94  event.setClientId(client == null ? null : client.getClientId());
95  return this;
96  }
EventBuilder client(ClientModel client)
Definition: EventBuilder.java:93

◆ client() [2/2]

EventBuilder org.keycloak.events.EventBuilder.client ( String  clientId)
inline
98  {
99  event.setClientId(clientId);
100  return this;
101  }

◆ clone()

EventBuilder org.keycloak.events.EventBuilder.clone ( )
inline
172  {
173  return new EventBuilder(store, listeners, realm, event.clone());
174  }
RealmModel realm
Definition: EventBuilder.java:43
List< EventListenerProvider > listeners
Definition: EventBuilder.java:42
EventBuilder(RealmModel realm, KeycloakSession session, ClientConnection clientConnection)
Definition: EventBuilder.java:46
EventStoreProvider store
Definition: EventBuilder.java:41
Event event
Definition: EventBuilder.java:44
Event clone()
Definition: Event.java:118

◆ detail()

EventBuilder org.keycloak.events.EventBuilder.detail ( String  key,
String  value 
)
inline
133  {
134  if (value == null || value.equals("")) {
135  return this;
136  }
137 
138  if (event.getDetails() == null) {
139  event.setDetails(new HashMap<String, String>());
140  }
141  event.getDetails().put(key, value);
142  return this;
143  }
Map< String, String > getDetails()
Definition: Event.java:110
Event event
Definition: EventBuilder.java:44

◆ error()

void org.keycloak.events.EventBuilder.error ( String  error)
inline
160  {
161  if (Objects.isNull(event.getType())) {
162  throw new IllegalStateException("Attempted to define event error without first setting the event type");
163  }
164 
165  if (!event.getType().name().endsWith("_ERROR")) {
166  event.setType(EventType.valueOf(event.getType().name() + "_ERROR"));
167  }
168  event.setError(error);
169  send();
170  }
void error(String error)
Definition: EventBuilder.java:160
void send()
Definition: EventBuilder.java:176
Event event
Definition: EventBuilder.java:44
EventType getType()
Definition: Event.java:54

◆ event()

EventBuilder org.keycloak.events.EventBuilder.event ( EventType  e)
inline
128  {
129  event.setType(e);
130  return this;
131  }

◆ getEvent()

Event org.keycloak.events.EventBuilder.getEvent ( )
inline
152  {
153  return event;
154  }
Event event
Definition: EventBuilder.java:44

◆ ipAddress()

EventBuilder org.keycloak.events.EventBuilder.ipAddress ( String  ipAddress)
inline
123  {
124  event.setIpAddress(ipAddress);
125  return this;
126  }
EventBuilder ipAddress(String ipAddress)
Definition: EventBuilder.java:123

◆ realm() [1/2]

EventBuilder org.keycloak.events.EventBuilder.realm ( RealmModel  realm)
inline
83  {
84  event.setRealmId(realm == null ? null : realm.getId());
85  return this;
86  }
RealmModel realm
Definition: EventBuilder.java:43

◆ realm() [2/2]

EventBuilder org.keycloak.events.EventBuilder.realm ( String  realmId)
inline
88  {
89  event.setRealmId(realmId);
90  return this;
91  }

◆ removeDetail()

EventBuilder org.keycloak.events.EventBuilder.removeDetail ( String  key)
inline
145  {
146  if (event.getDetails() != null) {
147  event.getDetails().remove(key);
148  }
149  return this;
150  }
Map< String, String > getDetails()
Definition: Event.java:110
Event event
Definition: EventBuilder.java:44

◆ send()

void org.keycloak.events.EventBuilder.send ( )
inlineprivate
176  {
177  event.setTime(Time.currentTimeMillis());
178 
179  if (store != null) {
180  if (realm.getEnabledEventTypes() != null && !realm.getEnabledEventTypes().isEmpty() ? realm.getEnabledEventTypes().contains(event.getType().name()) : event.getType().isSaveByDefault()) {
181  try {
183  } catch (Throwable t) {
184  log.error("Failed to save event", t);
185  }
186  }
187  }
188 
189  if (listeners != null) {
190  for (EventListenerProvider l : listeners) {
191  try {
192  l.onEvent(event);
193  } catch (Throwable t) {
194  log.error("Failed to send type to " + l, t);
195  }
196  }
197  }
198  }
Set< String > getEnabledEventTypes()
RealmModel realm
Definition: EventBuilder.java:43
boolean isSaveByDefault()
Definition: EventType.java:143
static final Logger log
Definition: EventBuilder.java:39
List< EventListenerProvider > listeners
Definition: EventBuilder.java:42
EventStoreProvider store
Definition: EventBuilder.java:41
Event event
Definition: EventBuilder.java:44
EventType getType()
Definition: Event.java:54

◆ session() [1/2]

EventBuilder org.keycloak.events.EventBuilder.session ( UserSessionModel  session)
inline
113  {
114  event.setSessionId(session == null ? null : session.getId());
115  return this;
116  }
EventBuilder session(UserSessionModel session)
Definition: EventBuilder.java:113

◆ session() [2/2]

EventBuilder org.keycloak.events.EventBuilder.session ( String  sessionId)
inline
118  {
119  event.setSessionId(sessionId);
120  return this;
121  }

◆ success()

void org.keycloak.events.EventBuilder.success ( )
inline
156  {
157  send();
158  }
void send()
Definition: EventBuilder.java:176

◆ user() [1/2]

EventBuilder org.keycloak.events.EventBuilder.user ( UserModel  user)
inline
103  {
104  event.setUserId(user == null ? null : user.getId());
105  return this;
106  }
EventBuilder user(UserModel user)
Definition: EventBuilder.java:103

◆ user() [2/2]

EventBuilder org.keycloak.events.EventBuilder.user ( String  userId)
inline
108  {
109  event.setUserId(userId);
110  return this;
111  }

メンバ詳解

◆ event

Event org.keycloak.events.EventBuilder.event
private

◆ listeners

List<EventListenerProvider> org.keycloak.events.EventBuilder.listeners
private

◆ log

final Logger org.keycloak.events.EventBuilder.log = Logger.getLogger(EventBuilder.class)
staticprivate

◆ realm

RealmModel org.keycloak.events.EventBuilder.realm
private

◆ store

EventStoreProvider org.keycloak.events.EventBuilder.store
private

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