keycloak
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter クラス
org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter の継承関係図
Inheritance graph
org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter 連携図
Collaboration graph

公開メンバ関数

 AuthenticatedClientSessionAdapter (KeycloakSession kcSession, InfinispanUserSessionProvider provider, AuthenticatedClientSessionEntity entity, ClientModel client, UserSessionModel userSession, InfinispanChangelogBasedTransaction< String, UserSessionEntity > userSessionUpdateTx, InfinispanChangelogBasedTransaction< UUID, AuthenticatedClientSessionEntity > clientSessionUpdateTx, boolean offline)
 
void detachFromUserSession ()
 
UserSessionModel getUserSession ()
 
String getRedirectUri ()
 
void setRedirectUri (String uri)
 
String getId ()
 
RealmModel getRealm ()
 
ClientModel getClient ()
 
int getTimestamp ()
 
void setTimestamp (int timestamp)
 
int getCurrentRefreshTokenUseCount ()
 
void setCurrentRefreshTokenUseCount (int currentRefreshTokenUseCount)
 
String getCurrentRefreshToken ()
 
void setCurrentRefreshToken (String currentRefreshToken)
 
String getAction ()
 
void setAction (String action)
 
String getProtocol ()
 
void setProtocol (String method)
 
String getNote (String name)
 
void setNote (String name, String value)
 
void removeNote (String name)
 
Map< String, String > getNotes ()
 

非公開メンバ関数

void update (UserSessionUpdateTask task)
 
void update (ClientSessionUpdateTask task)
 

非公開変数類

final KeycloakSession kcSession
 
final InfinispanUserSessionProvider provider
 
AuthenticatedClientSessionEntity entity
 
final ClientModel client
 
final InfinispanChangelogBasedTransaction< String, UserSessionEntityuserSessionUpdateTx
 
final InfinispanChangelogBasedTransaction< UUID, AuthenticatedClientSessionEntityclientSessionUpdateTx
 
UserSessionModel userSession
 
boolean offline
 

詳解

著者
Marek Posolda

構築子と解体子

◆ AuthenticatedClientSessionAdapter()

org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.AuthenticatedClientSessionAdapter ( KeycloakSession  kcSession,
InfinispanUserSessionProvider  provider,
AuthenticatedClientSessionEntity  entity,
ClientModel  client,
UserSessionModel  userSession,
InfinispanChangelogBasedTransaction< String, UserSessionEntity userSessionUpdateTx,
InfinispanChangelogBasedTransaction< UUID, AuthenticatedClientSessionEntity clientSessionUpdateTx,
boolean  offline 
)
inline
58  {
59  if (userSession == null) {
60  throw new NullPointerException("userSession must not be null");
61  }
62 
63  this.kcSession = kcSession;
64  this.provider = provider;
65  this.entity = entity;
66  this.userSession = userSession;
67  this.client = client;
70  this.offline = offline;
71  }
final InfinispanChangelogBasedTransaction< String, UserSessionEntity > userSessionUpdateTx
Definition: AuthenticatedClientSessionAdapter.java:50
final KeycloakSession kcSession
Definition: AuthenticatedClientSessionAdapter.java:46
UserSessionModel userSession
Definition: AuthenticatedClientSessionAdapter.java:52
final InfinispanUserSessionProvider provider
Definition: AuthenticatedClientSessionAdapter.java:47
final InfinispanChangelogBasedTransaction< UUID, AuthenticatedClientSessionEntity > clientSessionUpdateTx
Definition: AuthenticatedClientSessionAdapter.java:51
boolean offline
Definition: AuthenticatedClientSessionAdapter.java:53
final ClientModel client
Definition: AuthenticatedClientSessionAdapter.java:49
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

関数詳解

◆ detachFromUserSession()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.detachFromUserSession ( )
inline

Detaches the client session from its user session.

This method does not delete the client session from user session records, it only removes the client session. The list of client sessions within user session is updated lazily for performance reasons.

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

88  {
89  // Intentionally do not remove the clientUUID from the user session, invalid session is handled
90  // as nonexistent in org.keycloak.models.sessions.infinispan.UserSessionAdapter.getAuthenticatedClientSessions()
91  this.userSession = null;
92 
93  SessionUpdateTask<AuthenticatedClientSessionEntity> removeTask = Tasks.removeSync();
94 
95  clientSessionUpdateTx.addTask(entity.getId(), removeTask);
96  }
UserSessionModel userSession
Definition: AuthenticatedClientSessionAdapter.java:52
UUID getId()
Definition: AuthenticatedClientSessionEntity.java:118
final InfinispanChangelogBasedTransaction< UUID, AuthenticatedClientSessionEntity > clientSessionUpdateTx
Definition: AuthenticatedClientSessionAdapter.java:51
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getAction()

String org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getAction ( )
inline

org.keycloak.sessions.CommonClientSessionModelを実装しています。

204  {
205  return entity.getAction();
206  }
String getAction()
Definition: AuthenticatedClientSessionEntity.java:86
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getClient()

ClientModel org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getClient ( )
inline

org.keycloak.sessions.CommonClientSessionModelを実装しています。

133  {
134  return client;
135  }
final ClientModel client
Definition: AuthenticatedClientSessionAdapter.java:49

◆ getCurrentRefreshToken()

String org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getCurrentRefreshToken ( )
inline

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

186  {
188  }
String getCurrentRefreshToken()
Definition: AuthenticatedClientSessionEntity.java:102
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getCurrentRefreshTokenUseCount()

int org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getCurrentRefreshTokenUseCount ( )
inline

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

168  {
170  }
int getCurrentRefreshTokenUseCount()
Definition: AuthenticatedClientSessionEntity.java:110
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getId()

String org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getId ( )
inline

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

123  {
124  return null;
125  }

◆ getNote()

String org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getNote ( String  name)
inline

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

242  {
243  return entity.getNotes().get(name);
244  }
Map< String, String > getNotes()
Definition: AuthenticatedClientSessionEntity.java:94
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getNotes()

Map<String, String> org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getNotes ( )
inline

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

275  {
276  if (entity.getNotes().isEmpty()) return Collections.emptyMap();
277  Map<String, String> copy = new HashMap<>();
278  copy.putAll(entity.getNotes());
279  return copy;
280  }
Map< String, String > getNotes()
Definition: AuthenticatedClientSessionEntity.java:94
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getProtocol()

String org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getProtocol ( )
inline

org.keycloak.sessions.CommonClientSessionModelを実装しています。

223  {
224  return entity.getAuthMethod();
225  }
String getAuthMethod()
Definition: AuthenticatedClientSessionEntity.java:62
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getRealm()

RealmModel org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getRealm ( )
inline

org.keycloak.sessions.CommonClientSessionModelを実装しています。

128  {
129  return userSession.getRealm();
130  }
UserSessionModel userSession
Definition: AuthenticatedClientSessionAdapter.java:52

◆ getRedirectUri()

String org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getRedirectUri ( )
inline

org.keycloak.sessions.CommonClientSessionModelを実装しています。

104  {
105  return entity.getRedirectUri();
106  }
String getRedirectUri()
Definition: AuthenticatedClientSessionEntity.java:70
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getTimestamp()

int org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getTimestamp ( )
inline

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

138  {
139  return entity.getTimestamp();
140  }
int getTimestamp()
Definition: AuthenticatedClientSessionEntity.java:78
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ getUserSession()

UserSessionModel org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.getUserSession ( )
inline

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

99  {
100  return this.userSession;
101  }
UserSessionModel userSession
Definition: AuthenticatedClientSessionAdapter.java:52

◆ removeNote()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.removeNote ( String  name)
inline

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

261  {
262  ClientSessionUpdateTask task = new ClientSessionUpdateTask() {
263 
264  @Override
265  public void runUpdate(AuthenticatedClientSessionEntity entity) {
266  entity.getNotes().remove(name);
267  }
268 
269  };
270 
271  update(task);
272  }
void update(UserSessionUpdateTask task)
Definition: AuthenticatedClientSessionAdapter.java:73
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ setAction()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.setAction ( String  action)
inline

org.keycloak.sessions.CommonClientSessionModelを実装しています。

209  {
210  ClientSessionUpdateTask task = new ClientSessionUpdateTask() {
211 
212  @Override
213  public void runUpdate(AuthenticatedClientSessionEntity entity) {
214  entity.setAction(action);
215  }
216 
217  };
218 
219  update(task);
220  }
void update(UserSessionUpdateTask task)
Definition: AuthenticatedClientSessionAdapter.java:73
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ setCurrentRefreshToken()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.setCurrentRefreshToken ( String  currentRefreshToken)
inline

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

191  {
192  ClientSessionUpdateTask task = new ClientSessionUpdateTask() {
193 
194  @Override
195  public void runUpdate(AuthenticatedClientSessionEntity entity) {
196  entity.setCurrentRefreshToken(currentRefreshToken);
197  }
198  };
199 
200  update(task);
201  }
void update(UserSessionUpdateTask task)
Definition: AuthenticatedClientSessionAdapter.java:73
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ setCurrentRefreshTokenUseCount()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.setCurrentRefreshTokenUseCount ( int  currentRefreshTokenUseCount)
inline

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

173  {
174  ClientSessionUpdateTask task = new ClientSessionUpdateTask() {
175 
176  @Override
177  public void runUpdate(AuthenticatedClientSessionEntity entity) {
178  entity.setCurrentRefreshTokenUseCount(currentRefreshTokenUseCount);
179  }
180  };
181 
182  update(task);
183  }
void update(UserSessionUpdateTask task)
Definition: AuthenticatedClientSessionAdapter.java:73
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ setNote()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.setNote ( String  name,
String  value 
)
inline

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

247  {
248  ClientSessionUpdateTask task = new ClientSessionUpdateTask() {
249 
250  @Override
251  public void runUpdate(AuthenticatedClientSessionEntity entity) {
252  entity.getNotes().put(name, value);
253  }
254 
255  };
256 
257  update(task);
258  }
void update(UserSessionUpdateTask task)
Definition: AuthenticatedClientSessionAdapter.java:73
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ setProtocol()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.setProtocol ( String  method)
inline

org.keycloak.sessions.CommonClientSessionModelを実装しています。

228  {
229  ClientSessionUpdateTask task = new ClientSessionUpdateTask() {
230 
231  @Override
232  public void runUpdate(AuthenticatedClientSessionEntity entity) {
233  entity.setAuthMethod(method);
234  }
235 
236  };
237 
238  update(task);
239  }
void update(UserSessionUpdateTask task)
Definition: AuthenticatedClientSessionAdapter.java:73
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ setRedirectUri()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.setRedirectUri ( String  uri)
inline

org.keycloak.sessions.CommonClientSessionModelを実装しています。

109  {
110  ClientSessionUpdateTask task = new ClientSessionUpdateTask() {
111 
112  @Override
113  public void runUpdate(AuthenticatedClientSessionEntity entity) {
114  entity.setRedirectUri(uri);
115  }
116 
117  };
118 
119  update(task);
120  }
void update(UserSessionUpdateTask task)
Definition: AuthenticatedClientSessionAdapter.java:73
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ setTimestamp()

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.setTimestamp ( int  timestamp)
inline

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

143  {
144  ClientSessionUpdateTask task = new ClientSessionUpdateTask() {
145 
146  @Override
147  public void runUpdate(AuthenticatedClientSessionEntity entity) {
148  entity.setTimestamp(timestamp);
149  }
150 
151  @Override
152  public CrossDCMessageStatus getCrossDCMessageStatus(SessionEntityWrapper<AuthenticatedClientSessionEntity> sessionWrapper) {
153  return new LastSessionRefreshChecker(provider.getLastSessionRefreshStore(), provider.getOfflineLastSessionRefreshStore())
154  .shouldSaveClientSessionToRemoteCache(kcSession, client.getRealm(), sessionWrapper, userSession, offline, timestamp);
155  }
156 
157  @Override
158  public String toString() {
159  return "setTimestamp(" + timestamp + ')';
160  }
161 
162  };
163 
164  update(task);
165  }
final KeycloakSession kcSession
Definition: AuthenticatedClientSessionAdapter.java:46
void update(UserSessionUpdateTask task)
Definition: AuthenticatedClientSessionAdapter.java:73
LastSessionRefreshStore getLastSessionRefreshStore()
Definition: InfinispanUserSessionProvider.java:163
UserSessionModel userSession
Definition: AuthenticatedClientSessionAdapter.java:52
final InfinispanUserSessionProvider provider
Definition: AuthenticatedClientSessionAdapter.java:47
boolean offline
Definition: AuthenticatedClientSessionAdapter.java:53
final ClientModel client
Definition: AuthenticatedClientSessionAdapter.java:49
LastSessionRefreshStore getOfflineLastSessionRefreshStore()
Definition: InfinispanUserSessionProvider.java:167
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

◆ update() [1/2]

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.update ( UserSessionUpdateTask  task)
inlineprivate
73  {
74  userSessionUpdateTx.addTask(userSession.getId(), task);
75  }
final InfinispanChangelogBasedTransaction< String, UserSessionEntity > userSessionUpdateTx
Definition: AuthenticatedClientSessionAdapter.java:50
UserSessionModel userSession
Definition: AuthenticatedClientSessionAdapter.java:52

◆ update() [2/2]

void org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.update ( ClientSessionUpdateTask  task)
inlineprivate
77  {
78  clientSessionUpdateTx.addTask(entity.getId(), task);
79  }
UUID getId()
Definition: AuthenticatedClientSessionEntity.java:118
final InfinispanChangelogBasedTransaction< UUID, AuthenticatedClientSessionEntity > clientSessionUpdateTx
Definition: AuthenticatedClientSessionAdapter.java:51
AuthenticatedClientSessionEntity entity
Definition: AuthenticatedClientSessionAdapter.java:48

メンバ詳解

◆ client

final ClientModel org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.client
private

◆ clientSessionUpdateTx

final InfinispanChangelogBasedTransaction<UUID, AuthenticatedClientSessionEntity> org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.clientSessionUpdateTx
private

◆ entity

AuthenticatedClientSessionEntity org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.entity
private

◆ kcSession

final KeycloakSession org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.kcSession
private

◆ offline

boolean org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.offline
private

◆ provider

final InfinispanUserSessionProvider org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.provider
private

◆ userSession

UserSessionModel org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.userSession
private

◆ userSessionUpdateTx

final InfinispanChangelogBasedTransaction<String, UserSessionEntity> org.keycloak.models.sessions.infinispan.AuthenticatedClientSessionAdapter.userSessionUpdateTx
private

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