Package org.keycloak.models.session
Interface UserSessionPersisterProvider
- All Superinterfaces:
Provider
- All Known Implementing Classes:
DisabledUserSessionPersisterProvider
,JpaUserSessionPersisterProvider
- Author:
- Marek Posolda
-
Method Summary
Modifier and TypeMethodDescriptionvoid
createClientSession
(AuthenticatedClientSessionModel clientSession, boolean offline) void
createUserSession
(UserSessionModel userSession, boolean offline) int
getUserSessionsCount
(boolean offline) Retrieves the count of user sessions for all realms.int
getUserSessionsCount
(RealmModel realm, ClientModel clientModel, boolean offline) Retrieves the count of user client-sessions for the given clientgetUserSessionsCountsByClients
(RealmModel realm, boolean offline) Returns aMap
containing the number of user-sessions aggregated by client id for the given realm.loadClientSession
(RealmModel realm, ClientModel client, UserSessionModel userSession, boolean offline) Loads client session from the db by provided user session and client.loadUserSession
(RealmModel realm, String userSessionId, boolean offline) Loads the user session with the given userSessionId.loadUserSessionsStream
(Integer firstResult, Integer maxResults, boolean offline, String lastUserSessionId) Called during startup.loadUserSessionsStream
(RealmModel realm, ClientModel client, boolean offline, Integer firstResult, Integer maxResults) Loads the user sessions for the givenClientModel
in the givenRealmModel
if present.loadUserSessionsStream
(RealmModel realm, UserModel user, boolean offline, Integer firstResult, Integer maxResults) Loads the user sessions for the givenUserModel
in the givenRealmModel
if present.default UserSessionModel
loadUserSessionsStreamByBrokerSessionId
(RealmModel realm, String brokerSessionId, boolean offline) 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) default void
removeUserSessions
(RealmModel realm, boolean offline) Remove the online user sessions for this realm.void
updateLastSessionRefreshes
(RealmModel realm, int lastSessionRefresh, Collection<String> userSessionIds, boolean offline)
-
Method Details
-
createUserSession
-
createClientSession
-
removeUserSession
-
removeClientSession
-
onRealmRemoved
-
onClientRemoved
-
onUserRemoved
-
updateLastSessionRefreshes
void updateLastSessionRefreshes(RealmModel realm, int lastSessionRefresh, Collection<String> userSessionIds, boolean offline) -
removeExpired
-
loadUserSession
Loads the user session with the given userSessionId.- Parameters:
userSessionId
-offline
-- Returns:
-
loadUserSessionsStream
Stream<UserSessionModel> loadUserSessionsStream(RealmModel realm, UserModel user, boolean offline, Integer firstResult, Integer maxResults) Loads the user sessions for the givenUserModel
in the givenRealmModel
if present.- Parameters:
realm
-user
-offline
-firstResult
-maxResults
-- Returns:
-
loadUserSessionsStream
Stream<UserSessionModel> loadUserSessionsStream(RealmModel realm, ClientModel client, boolean offline, Integer firstResult, Integer maxResults) Loads the user sessions for the givenClientModel
in the givenRealmModel
if present.- Parameters:
realm
-client
-offline
-firstResult
-maxResults
-- Returns:
-
loadUserSessionsStreamByBrokerSessionId
default UserSessionModel loadUserSessionsStreamByBrokerSessionId(RealmModel realm, String brokerSessionId, boolean offline) -
loadUserSessionsStream
Stream<UserSessionModel> loadUserSessionsStream(Integer firstResult, Integer maxResults, boolean offline, 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 ornull
.maxResults
-Integer
Maximum number of returned user sessions. Ignored if negative ornull
.offline
-boolean
Flag to include offline sessions.lastUserSessionId
-String
Id of the user session. It will return only user sessions with id's lexicographically greater than this. it will compare the id in dictionary order and takes only those created later.- Returns:
- Stream of
UserSessionModel
. Never returnsnull
.
-
loadClientSession
AuthenticatedClientSessionModel loadClientSession(RealmModel realm, ClientModel client, UserSessionModel userSession, boolean offline) Loads client session from the db by provided user session and client.- Parameters:
realm
- RealmModel Realm for the associated client session.client
- ClientModel Client used for the creation of client session.userSession
- UserSessionModel User session for the associated client session.offline
- boolean Flag that indicates the client session should be online/offline.- Returns:
- Client session according the provided criteria or
null
if not found.
-
getUserSessionsCount
int getUserSessionsCount(boolean offline) Retrieves the count of user sessions for all realms.- Parameters:
offline
-- Returns:
-
getUserSessionsCount
Retrieves the count of user client-sessions for the given client- Parameters:
realm
-clientModel
-offline
-- Returns:
-
getUserSessionsCountsByClients
Returns aMap
containing the number of user-sessions aggregated by client id for the given realm.- Parameters:
realm
-offline
-- Returns:
- the count
Map
with clientId as key and session count as value
-
removeUserSessions
Remove the online user sessions for this realm.
-