org.keycloak.models.session

## Interface UserSessionPersisterProvider

- All Superinterfaces:
    Provider
  All Known Implementing Classes:
    DisabledUserSessionPersisterProvider, JpaUserSessionPersisterProvider

      public interface UserSessionPersisterProvider
      extends Provider

  Author:
    Marek Posolda

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `createClientSession(AuthenticatedClientSessionModel clientSession, boolean offline)`
    `void` | `createUserSession(UserSessionModel userSession, boolean offline)`
    `int` | `getUserSessionsCount(boolean offline)`
    `default List<UserSessionModel>` | `loadUserSessions(int firstResult, int maxResults, boolean offline, int lastCreatedOn, String lastUserSessionId)` Deprecated. Use `loadUserSessionsStream` instead.
    `Stream<UserSessionModel>` | `loadUserSessionsStream(Integer firstResult, Integer maxResults, boolean offline, Integer lastCreatedOn, String lastUserSessionId)` Called during startup.
    `void` | `onClientRemoved(RealmModel realm, ClientModel client)`
    `void` | `onRealmRemoved(RealmModel realm)`
    `void` | `onUserRemoved(RealmModel realm, UserModel user)`
    `void` | `removeClientSession(String userSessionId, String clientUUID, boolean offline)`
    `void` | `removeExpired(RealmModel realm)`
    `void` | `removeUserSession(String userSessionId, boolean offline)`
    `void` | `updateLastSessionRefreshes(RealmModel realm, int lastSessionRefresh, Collection<String> userSessionIds, boolean offline)`

    - ### Methods inherited from interface org.keycloak.provider.Provider

      `close`

- - ### Method Detail

    - #### createUserSession

          void createUserSession(UserSessionModel userSession,
                                 boolean offline)

    - #### createClientSession

          void createClientSession(AuthenticatedClientSessionModel clientSession,
                                   boolean offline)

    - #### removeUserSession

          void removeUserSession(String userSessionId,
                                 boolean offline)

    - #### removeClientSession

          void removeClientSession(String userSessionId,
                                   String clientUUID,
                                   boolean offline)

    - #### onRealmRemoved

          void onRealmRemoved(RealmModel realm)

    - #### onClientRemoved

          void onClientRemoved(RealmModel realm,
                               ClientModel client)

    - #### onUserRemoved

          void onUserRemoved(RealmModel realm,
                             UserModel user)

    - #### updateLastSessionRefreshes

          void updateLastSessionRefreshes(RealmModel realm,
                                          int lastSessionRefresh,
                                          Collection<String> userSessionIds,
                                          boolean offline)

    - #### removeExpired

          void removeExpired(RealmModel realm)

    - #### loadUserSessions

          @Deprecated
          default List<UserSessionModel> loadUserSessions(int firstResult,
                                                                      int maxResults,
                                                                      boolean offline,
                                                                      int lastCreatedOn,
                                                                      String lastUserSessionId)

      Deprecated. Use `loadUserSessionsStream` instead.
      Called during startup. For each userSession, it loads also clientSessions

    - #### loadUserSessionsStream

          Stream<UserSessionModel> loadUserSessionsStream(Integer firstResult,
                                                          Integer maxResults,
                                                          boolean offline,
                                                          Integer lastCreatedOn,
                                                          String lastUserSessionId)

      Called during startup. For each userSession, it loads also clientSessions.
      Parameters:
        `firstResult` - `Integer` Index of the first desired user session. Ignored if negative or `null`.
        `maxResults` - `Integer` Maximum number of returned user sessions. Ignored if negative or `null`.
        `offline` - `boolean` Flag to include offline sessions.
        `lastCreatedOn` - `Integer` Timestamp when the user session was created. It will return only user sessions created later.
        `lastUserSessionId` - `String` Id of the user session. In case of equal `lastCreatedOn` it will compare the id in dictionary order and takes only those created later.
      Returns:
        Stream of `UserSessionModel`. Never returns `null`.

    - #### getUserSessionsCount

          int getUserSessionsCount(boolean offline)

Copyright © 2021 JBoss by Red Hat. All rights reserved.