57 String userSessionId = sessionWrapper.getEntity().getId();
60 Integer lsrr = sessionWrapper.getLocalMetadataNoteInt(UserSessionEntity.LAST_SESSION_REFRESH_REMOTE);
62 lsrr = sessionWrapper.getEntity().getStarted();
65 if (lsrr + (realm.getOfflineSessionIdleTimeout() / 2) <= newLastSessionRefresh) {
66 logger.debugf(
"We are going to write remotely userSession %s. Remote last session refresh: %d, New last session refresh: %d",
67 userSessionId, lsrr, newLastSessionRefresh);
68 return SessionUpdateTask.CrossDCMessageStatus.SYNC;
72 if (
logger.isDebugEnabled()) {
73 logger.debugf(
"Skip writing last session refresh to the remoteCache. Session %s newLastSessionRefresh %d", userSessionId, newLastSessionRefresh);
79 return SessionUpdateTask.CrossDCMessageStatus.NOT_NEEDED;
void putLastSessionRefresh(KeycloakSession kcSession, String sessionId, String realmId, int lastSessionRefresh)
Definition: LastSessionRefreshStore.java:54
final LastSessionRefreshStore offlineStore
Definition: LastSessionRefreshChecker.java:40
final LastSessionRefreshStore store
Definition: LastSessionRefreshChecker.java:39
static final Logger logger
Definition: LastSessionRefreshChecker.java:37
SessionUpdateTask.CrossDCMessageStatus baseChecks(KeycloakSession kcSession, RealmModel realm, boolean offline)
Definition: LastSessionRefreshChecker.java:114