Package org.keycloak.models
Interface UserSessionProvider
-
- All Superinterfaces:
Provider
public interface UserSessionProvider extends Provider
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default UserLoginFailureModeladdUserLoginFailure(RealmModel realm, String userId)Deprecated.UseaddUserLoginFailureinstead.voidclose()AuthenticatedClientSessionModelcreateClientSession(RealmModel realm, ClientModel client, UserSessionModel userSession)AuthenticatedClientSessionModelcreateOfflineClientSession(AuthenticatedClientSessionModel clientSession, UserSessionModel offlineUserSession)Will automatically attach newly created offline client session to the offlineUserSessionUserSessionModelcreateOfflineUserSession(UserSessionModel userSession)Newly created userSession won't contain attached AuthenticatedClientSessionsUserSessionModelcreateUserSession(String id, RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId, UserSessionModel.SessionPersistenceState persistenceState)UserSessionModelcreateUserSession(RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId)Map<String,Long>getActiveClientSessionStats(RealmModel realm, boolean offline)Returns a summary of client sessions key is client.getId()longgetActiveUserSessions(RealmModel realm, ClientModel client)AuthenticatedClientSessionModelgetClientSession(UserSessionModel userSession, ClientModel client, String clientSessionId, boolean offline)default AuthenticatedClientSessionModelgetClientSession(UserSessionModel userSession, ClientModel client, UUID clientSessionId, boolean offline)Deprecated.KeycloakSessiongetKeycloakSession()Returns currently used Keycloak session.longgetOfflineSessionsCount(RealmModel realm, ClientModel client)UserSessionModelgetOfflineUserSession(RealmModel realm, String userSessionId)UserSessionModelgetOfflineUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)default List<UserSessionModel>getOfflineUserSessionByBrokerUserId(RealmModel realm, String brokerUserId)Deprecated.UsegetOfflineUserSessionByBrokerUserIdStreaminstead.Stream<UserSessionModel>getOfflineUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)Obtains the offline user sessions associated with the user that matches the specifiedbrokerUserId.default List<UserSessionModel>getOfflineUserSessions(RealmModel realm, ClientModel client, int first, int max)Deprecated.usegetOfflineUserSessionsStreaminstead.default List<UserSessionModel>getOfflineUserSessions(RealmModel realm, UserModel user)Deprecated.UsegetOfflineUserSessionsStreaminstead.Stream<UserSessionModel>getOfflineUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)Obtains the offline user sessions associated with the specified client, starting from thefirstResultand containing at mostmaxResults.Stream<UserSessionModel>getOfflineUserSessionsStream(RealmModel realm, UserModel user)Obtains the offline user sessions associated with the specified user.default UserLoginFailureModelgetUserLoginFailure(RealmModel realm, String userId)Deprecated.UsegetUserLoginFailureinstead.UserSessionModelgetUserSession(RealmModel realm, String id)UserSessionModelgetUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)default List<UserSessionModel>getUserSessionByBrokerUserId(RealmModel realm, String brokerUserId)Deprecated.UsegetUserSessionByBrokerUserIdStreaminstead.Stream<UserSessionModel>getUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)Obtains the online user sessions associated with the user that matches the specifiedbrokerUserId.default List<UserSessionModel>getUserSessions(RealmModel realm, ClientModel client)Deprecated.UsegetUserSessionsStreaminstead.default List<UserSessionModel>getUserSessions(RealmModel realm, ClientModel client, int firstResult, int maxResults)Deprecated.UsegetUserSessionsStreaminstead.default List<UserSessionModel>getUserSessions(RealmModel realm, UserModel user)Deprecated.UsegetUserSessionsStreaminstead.Stream<UserSessionModel>getUserSessionsStream(RealmModel realm, ClientModel client)Obtains the online user sessions associated with the specified client.Stream<UserSessionModel>getUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)Obtains the online user sessions associated with the specified client, starting from thefirstResultand containing at mostmaxResults.Stream<UserSessionModel>getUserSessionsStream(RealmModel realm, UserModel user)Obtains the online user sessions associated with the specified user.UserSessionModelgetUserSessionWithPredicate(RealmModel realm, String id, boolean offline, Predicate<UserSessionModel> predicate)Return userSession of specified ID as long as the predicate passes.voidimportUserSessions(Collection<UserSessionModel> persistentUserSessions, boolean offline)Triggered by persister during pre-load.voidonClientRemoved(RealmModel realm, ClientModel client)voidonRealmRemoved(RealmModel realm)voidremoveAllExpired()Remove expired user sessions and client sessions in all the realmsdefault voidremoveAllUserLoginFailures(RealmModel realm)Deprecated.UseremoveAllUserLoginFailuresinstead.voidremoveExpired(RealmModel realm)Removes expired user sessions owned by this realm from this provider.voidremoveOfflineUserSession(RealmModel realm, UserSessionModel userSession)Removes the attached clientSessions as welldefault voidremoveUserLoginFailure(RealmModel realm, String userId)Deprecated.UseremoveUserLoginFailureinstead.voidremoveUserSession(RealmModel realm, UserSessionModel session)This will remove attached ClientLoginSessionModels toovoidremoveUserSessions(RealmModel realm)voidremoveUserSessions(RealmModel realm, UserModel user)
-
-
-
Method Detail
-
getKeycloakSession
KeycloakSession getKeycloakSession()
Returns currently used Keycloak session.- Returns:
KeycloakSession
-
createClientSession
AuthenticatedClientSessionModel createClientSession(RealmModel realm, ClientModel client, UserSessionModel userSession)
-
getClientSession
default AuthenticatedClientSessionModel getClientSession(UserSessionModel userSession, ClientModel client, UUID clientSessionId, boolean offline)
Deprecated.
-
getClientSession
AuthenticatedClientSessionModel getClientSession(UserSessionModel userSession, ClientModel client, String clientSessionId, boolean offline)
-
createUserSession
UserSessionModel createUserSession(RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId)
-
createUserSession
UserSessionModel createUserSession(String id, RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId, UserSessionModel.SessionPersistenceState persistenceState)
-
getUserSession
UserSessionModel getUserSession(RealmModel realm, String id)
-
getUserSessions
@Deprecated default List<UserSessionModel> getUserSessions(RealmModel realm, UserModel user)
Deprecated.UsegetUserSessionsStreaminstead.
-
getUserSessionsStream
Stream<UserSessionModel> getUserSessionsStream(RealmModel realm, UserModel user)
Obtains the online user sessions associated with the specified user.- Parameters:
realm- a reference to the realm.user- the user whose sessions are being searched.- Returns:
- a non-null
Streamof online user sessions.
-
getUserSessions
@Deprecated default List<UserSessionModel> getUserSessions(RealmModel realm, ClientModel client)
Deprecated.UsegetUserSessionsStreaminstead.
-
getUserSessionsStream
Stream<UserSessionModel> getUserSessionsStream(RealmModel realm, ClientModel client)
Obtains the online user sessions associated with the specified client.- Parameters:
realm- a reference to the realm.client- the client whose user sessions are being searched.- Returns:
- a non-null
Streamof online user sessions.
-
getUserSessions
@Deprecated default List<UserSessionModel> getUserSessions(RealmModel realm, ClientModel client, int firstResult, int maxResults)
Deprecated.UsegetUserSessionsStreaminstead.
-
getUserSessionsStream
Stream<UserSessionModel> getUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)
Obtains the online user sessions associated with the specified client, starting from thefirstResultand containing at mostmaxResults.- Parameters:
realm- a reference tot he realm.client- the client whose user sessions are being searched.firstResult- first result to return. Ignored if negative ornull.maxResults- maximum number of results to return. Ignored if negative ornull.- Returns:
- a non-null
Streamof online user sessions.
-
getUserSessionByBrokerUserId
@Deprecated default List<UserSessionModel> getUserSessionByBrokerUserId(RealmModel realm, String brokerUserId)
Deprecated.UsegetUserSessionByBrokerUserIdStreaminstead.
-
getUserSessionByBrokerUserIdStream
Stream<UserSessionModel> getUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)
Obtains the online user sessions associated with the user that matches the specifiedbrokerUserId.- Parameters:
realm- a reference to the realm.brokerUserId- the id of the broker user whose sessions are being searched.- Returns:
- a non-null
Streamof online user sessions.
-
getUserSessionByBrokerSessionId
UserSessionModel getUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)
-
getUserSessionWithPredicate
UserSessionModel getUserSessionWithPredicate(RealmModel realm, String id, boolean offline, Predicate<UserSessionModel> predicate)
Return userSession of specified ID as long as the predicate passes. Otherwise returnsnull. If predicate doesn't pass, implementation can do some best-effort actions to try have predicate passing (eg. download userSession from other DC)
-
getActiveUserSessions
long getActiveUserSessions(RealmModel realm, ClientModel client)
-
getActiveClientSessionStats
Map<String,Long> getActiveClientSessionStats(RealmModel realm, boolean offline)
Returns a summary of client sessions key is client.getId()- Parameters:
realm-offline-- Returns:
-
removeUserSession
void removeUserSession(RealmModel realm, UserSessionModel session)
This will remove attached ClientLoginSessionModels too
-
removeUserSessions
void removeUserSessions(RealmModel realm, UserModel user)
-
removeAllExpired
void removeAllExpired()
Remove expired user sessions and client sessions in all the realms
-
removeExpired
void removeExpired(RealmModel realm)
Removes expired user sessions owned by this realm from this provider. If this `UserSessionProvider` uses `UserSessionPersister`, the removal of the expireduser sessionsis also propagated to relevant `UserSessionPersister`.- Parameters:
realm-RealmModelRealm where all the expired user sessions to be removed from.
-
removeUserSessions
void removeUserSessions(RealmModel realm)
-
getUserLoginFailure
@Deprecated default UserLoginFailureModel getUserLoginFailure(RealmModel realm, String userId)
Deprecated.UsegetUserLoginFailureinstead.
-
addUserLoginFailure
@Deprecated default UserLoginFailureModel addUserLoginFailure(RealmModel realm, String userId)
Deprecated.UseaddUserLoginFailureinstead.
-
removeUserLoginFailure
@Deprecated default void removeUserLoginFailure(RealmModel realm, String userId)
Deprecated.UseremoveUserLoginFailureinstead.
-
removeAllUserLoginFailures
@Deprecated default void removeAllUserLoginFailures(RealmModel realm)
Deprecated.UseremoveAllUserLoginFailuresinstead.
-
onRealmRemoved
void onRealmRemoved(RealmModel realm)
-
onClientRemoved
void onClientRemoved(RealmModel realm, ClientModel client)
-
createOfflineUserSession
UserSessionModel createOfflineUserSession(UserSessionModel userSession)
Newly created userSession won't contain attached AuthenticatedClientSessions
-
getOfflineUserSession
UserSessionModel getOfflineUserSession(RealmModel realm, String userSessionId)
-
removeOfflineUserSession
void removeOfflineUserSession(RealmModel realm, UserSessionModel userSession)
Removes the attached clientSessions as well
-
createOfflineClientSession
AuthenticatedClientSessionModel createOfflineClientSession(AuthenticatedClientSessionModel clientSession, UserSessionModel offlineUserSession)
Will automatically attach newly created offline client session to the offlineUserSession
-
getOfflineUserSessions
@Deprecated default List<UserSessionModel> getOfflineUserSessions(RealmModel realm, UserModel user)
Deprecated.UsegetOfflineUserSessionsStreaminstead.
-
getOfflineUserSessionsStream
Stream<UserSessionModel> getOfflineUserSessionsStream(RealmModel realm, UserModel user)
Obtains the offline user sessions associated with the specified user.- Parameters:
realm- a reference to the realm.user- the user whose offline sessions are being searched.- Returns:
- a non-null
Streamof offline user sessions.
-
getOfflineUserSessionByBrokerSessionId
UserSessionModel getOfflineUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)
-
getOfflineUserSessionByBrokerUserId
@Deprecated default List<UserSessionModel> getOfflineUserSessionByBrokerUserId(RealmModel realm, String brokerUserId)
Deprecated.UsegetOfflineUserSessionByBrokerUserIdStreaminstead.
-
getOfflineUserSessionByBrokerUserIdStream
Stream<UserSessionModel> getOfflineUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)
Obtains the offline user sessions associated with the user that matches the specifiedbrokerUserId.- Parameters:
realm- a reference to the realm.brokerUserId- the id of the broker user whose sessions are being searched.- Returns:
- a non-null
Streamof offline user sessions.
-
getOfflineSessionsCount
long getOfflineSessionsCount(RealmModel realm, ClientModel client)
-
getOfflineUserSessions
@Deprecated default List<UserSessionModel> getOfflineUserSessions(RealmModel realm, ClientModel client, int first, int max)
Deprecated.usegetOfflineUserSessionsStreaminstead.
-
getOfflineUserSessionsStream
Stream<UserSessionModel> getOfflineUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)
Obtains the offline user sessions associated with the specified client, starting from thefirstResultand containing at mostmaxResults.- Parameters:
realm- a reference tot he realm.client- the client whose user sessions are being searched.firstResult- first result to return. Ignored if negative ornull.maxResults- maximum number of results to return. Ignored if negative ornull.- Returns:
- a non-null
Streamof offline user sessions.
-
importUserSessions
void importUserSessions(Collection<UserSessionModel> persistentUserSessions, boolean offline)
Triggered by persister during pre-load. It imports authenticatedClientSessions too
-
-