org.keycloak.models.RealmModel.getOfflineSessionIdleTimeout()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(137)

本文整理了Java中org.keycloak.models.RealmModel.getOfflineSessionIdleTimeout方法的一些代码示例,展示了RealmModel.getOfflineSessionIdleTimeout的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RealmModel.getOfflineSessionIdleTimeout方法的具体详情如下:
包路径:org.keycloak.models.RealmModel
类名称:RealmModel
方法名:getOfflineSessionIdleTimeout

RealmModel.getOfflineSessionIdleTimeout介绍

暂无

代码示例

代码示例来源:origin: org.keycloak/keycloak-invalidation-cache-infinispan

@Override
public int getOfflineSessionIdleTimeout() {
  if (updated != null) return updated.getOfflineSessionIdleTimeout();
  return cached.getOfflineSessionIdleTimeout();
}

代码示例来源:origin: org.keycloak/keycloak-model-infinispan

@Override
public int getOfflineSessionIdleTimeout() {
  if (isUpdated()) return updated.getOfflineSessionIdleTimeout();
  return cached.getOfflineSessionIdleTimeout();
}

代码示例来源:origin: org.keycloak/keycloak-model-jpa

@Override
public void removeExpired(RealmModel realm) {
  int expiredOffline = Time.currentTime() - realm.getOfflineSessionIdleTimeout() - SessionTimeoutHelper.PERIODIC_CLEANER_IDLE_TIMEOUT_WINDOW_SECONDS;
  String offlineStr = offlineToString(true);
  logger.tracef("Trigger removing expired user sessions for realm '%s'", realm.getName());
  int cs = em.createNamedQuery("deleteExpiredClientSessions")
      .setParameter("realmId", realm.getId())
      .setParameter("lastSessionRefresh", expiredOffline)
      .setParameter("offline", offlineStr)
      .executeUpdate();
  int us = em.createNamedQuery("deleteExpiredUserSessions")
      .setParameter("realmId", realm.getId())
      .setParameter("lastSessionRefresh", expiredOffline)
      .setParameter("offline", offlineStr)
      .executeUpdate();
  logger.debugf("Removed %d expired user sessions and %d expired client sessions in realm '%s'", us, cs, realm.getName());
}

代码示例来源:origin: org.keycloak/keycloak-model-sessions-infinispan

private void removeExpiredOfflineClientSessions(RealmModel realm) {
  UserSessionPersisterProvider persister = session.getProvider(UserSessionPersisterProvider.class);
  int expiredOffline = Time.currentTime() - realm.getOfflineSessionIdleTimeout();
  Iterator<String> itr = offlineSessionCache.entrySet().stream().filter(ClientSessionPredicate.create(realm.getId()).expiredRefresh(expiredOffline)).map(Mappers.sessionId()).iterator();
  while (itr.hasNext()) {
    String sessionId = itr.next();
    tx.remove(offlineSessionCache, sessionId);
    persister.removeClientSession(sessionId, true);
  }
}

代码示例来源:origin: org.keycloak/keycloak-model-sessions-infinispan

private void removeExpiredOfflineUserSessions(RealmModel realm) {
  UserSessionPersisterProvider persister = session.getProvider(UserSessionPersisterProvider.class);
  int expiredOffline = Time.currentTime() - realm.getOfflineSessionIdleTimeout();
  Iterator<Map.Entry<String, SessionEntity>> itr = offlineSessionCache.entrySet().stream().filter(UserSessionPredicate.create(realm.getId()).expired(null, expiredOffline)).iterator();
  while (itr.hasNext()) {
    UserSessionEntity entity = (UserSessionEntity) itr.next().getValue();
    tx.remove(offlineSessionCache, entity.getId());
    persister.removeUserSession(entity.getId(), true);
    for (String clientSessionId : entity.getClientSessions()) {
      tx.remove(offlineSessionCache, clientSessionId);
    }
  }
}

代码示例来源:origin: org.keycloak/keycloak-model-sessions-infinispan

while (itr.hasNext()) {
  UserSessionEntity s = itr.next();
  if (s.getRealm().equals(realm.getId()) && (s.getLastSessionRefresh() < Time.currentTime() - realm.getOfflineSessionIdleTimeout())) {
    itr.remove();
    remove(s, true);
while (citr.hasNext()) {
  ClientSessionEntity s = citr.next();
  if (s.getRealmId().equals(realm.getId()) && (s.getTimestamp() < Time.currentTime() - realm.getOfflineSessionIdleTimeout())) {
    citr.remove();

代码示例来源:origin: org.keycloak/keycloak-model-infinispan

public SessionUpdateTask.CrossDCMessageStatus shouldSaveClientSessionToRemoteCache(
    KeycloakSession kcSession, RealmModel realm, SessionEntityWrapper<AuthenticatedClientSessionEntity> sessionWrapper, UserSessionModel userSession, boolean offline, int newTimestamp) {
  SessionUpdateTask.CrossDCMessageStatus baseChecks = baseChecks(kcSession, realm ,offline);
  if (baseChecks != null) {
    return baseChecks;
  }
  UUID clientSessionId = sessionWrapper.getEntity().getId();
  if (offline) {
    Integer lsrr = sessionWrapper.getLocalMetadataNoteInt(AuthenticatedClientSessionEntity.LAST_TIMESTAMP_REMOTE);
    if (lsrr == null) {
      lsrr = userSession.getStarted();
    }
    if (lsrr + (realm.getOfflineSessionIdleTimeout() / 2) <= newTimestamp) {
        logger.debugf("We are going to write remotely for clientSession %s. Remote timestamp: %d, New timestamp: %d",
            clientSessionId, lsrr, newTimestamp);
      return SessionUpdateTask.CrossDCMessageStatus.SYNC;
    }
  }
  if (logger.isDebugEnabled()) {
    logger.debugf("Skip writing timestamp to the remoteCache. ClientSession %s timestamp %d", clientSessionId, newTimestamp);
  }
  return SessionUpdateTask.CrossDCMessageStatus.NOT_NEEDED;
}

代码示例来源:origin: org.keycloak/keycloak-model-infinispan

return realm.getOfflineSessionIdleTimeout() * 1000;
});
  return realm.getOfflineSessionIdleTimeout() * 1000;
});

代码示例来源:origin: org.keycloak/keycloak-model-infinispan

public SessionUpdateTask.CrossDCMessageStatus shouldSaveUserSessionToRemoteCache(
    KeycloakSession kcSession, RealmModel realm, SessionEntityWrapper<UserSessionEntity> sessionWrapper, boolean offline, int newLastSessionRefresh) {
  SessionUpdateTask.CrossDCMessageStatus baseChecks = baseChecks(kcSession, realm ,offline);
  if (baseChecks != null) {
    return baseChecks;
  }
  String userSessionId = sessionWrapper.getEntity().getId();
  if (offline) {
    Integer lsrr = sessionWrapper.getLocalMetadataNoteInt(UserSessionEntity.LAST_SESSION_REFRESH_REMOTE);
    if (lsrr == null) {
      lsrr = sessionWrapper.getEntity().getStarted();
    }
    if (lsrr + (realm.getOfflineSessionIdleTimeout() / 2) <= newLastSessionRefresh) {
      logger.debugf("We are going to write remotely userSession %s. Remote last session refresh: %d, New last session refresh: %d",
          userSessionId, lsrr, newLastSessionRefresh);
      return SessionUpdateTask.CrossDCMessageStatus.SYNC;
    }
  }
  if (logger.isDebugEnabled()) {
    logger.debugf("Skip writing last session refresh to the remoteCache. Session %s newLastSessionRefresh %d", userSessionId, newLastSessionRefresh);
  }
  CrossDCLastSessionRefreshStore storeToUse = offline ? offlineStore : store;
  storeToUse.putLastSessionRefresh(kcSession, userSessionId, realm.getId(), newLastSessionRefresh);
  return SessionUpdateTask.CrossDCMessageStatus.NOT_NEEDED;
}

代码示例来源:origin: org.keycloak/keycloak-model-infinispan

private void removeExpiredOfflineUserSessions(RealmModel realm) {
  int expiredOffline = Time.currentTime() - realm.getOfflineSessionIdleTimeout() - SessionTimeoutHelper.PERIODIC_CLEANER_IDLE_TIMEOUT_WINDOW_SECONDS;

代码示例来源:origin: org.keycloak/keycloak-invalidation-cache-model

ssoSessionIdleTimeout = model.getSsoSessionIdleTimeout();
ssoSessionMaxLifespan = model.getSsoSessionMaxLifespan();
offlineSessionIdleTimeout = model.getOfflineSessionIdleTimeout();
accessTokenLifespan = model.getAccessTokenLifespan();
accessTokenLifespanForImplicitFlow = model.getAccessTokenLifespanForImplicitFlow();

代码示例来源:origin: org.keycloak/keycloak-model-sessions-infinispan

int expiredOffline = Time.currentTime() - realm.getOfflineSessionIdleTimeout();
int expiredDettachedClientSession = Time.currentTime() - RealmInfoUtil.getDettachedClientSessionLifespan(realm);

代码示例来源:origin: org.keycloak/keycloak-model-infinispan

ssoSessionIdleTimeoutRememberMe = model.getSsoSessionIdleTimeoutRememberMe();
ssoSessionMaxLifespanRememberMe = model.getSsoSessionMaxLifespanRememberMe();
offlineSessionIdleTimeout = model.getOfflineSessionIdleTimeout();

代码示例来源:origin: org.keycloak/keycloak-model-api

rep.setSsoSessionIdleTimeout(realm.getSsoSessionIdleTimeout());
rep.setSsoSessionMaxLifespan(realm.getSsoSessionMaxLifespan());
rep.setOfflineSessionIdleTimeout(realm.getOfflineSessionIdleTimeout());
rep.setAccessCodeLifespan(realm.getAccessCodeLifespan());
rep.setAccessCodeLifespanUserAction(realm.getAccessCodeLifespanUserAction());

相关文章

微信公众号

最新文章

更多

RealmModel类方法