## Uses of Interface
org.keycloak.models.UserSessionModel

- Packages that use UserSessionModel
  Package | Description
  --- | ---
  org.keycloak.authentication |
  org.keycloak.broker.oidc |
  org.keycloak.broker.provider |
  org.keycloak.broker.saml |
  org.keycloak.device |
  org.keycloak.events |
  org.keycloak.forms.account |
  org.keycloak.forms.account.freemarker |
  org.keycloak.forms.account.freemarker.model |
  org.keycloak.models |
  org.keycloak.models.jpa.session |
  org.keycloak.models.map.storage |
  org.keycloak.models.map.storage.chm |
  org.keycloak.models.map.userSession |
  org.keycloak.models.session |
  org.keycloak.models.sessions.infinispan |
  org.keycloak.models.sessions.infinispan.changes.sessions |
  org.keycloak.models.utils |
  org.keycloak.protocol |
  org.keycloak.protocol.docker |
  org.keycloak.protocol.docker.mapper |
  org.keycloak.protocol.oidc |
  org.keycloak.protocol.oidc.endpoints |
  org.keycloak.protocol.oidc.mappers |
  org.keycloak.protocol.saml |
  org.keycloak.protocol.saml.mappers |
  org.keycloak.protocol.saml.preprocessor |
  org.keycloak.services.managers |
  org.keycloak.social.twitter |

- - ### Uses of UserSessionModel in org.keycloak.authentication

    Fields in org.keycloak.authentication declared as UserSessionModel
    Modifier and Type | Field and Description
    --- | ---
    `protected UserSessionModel` | AuthenticationProcessor.`userSession`

    Methods in org.keycloak.authentication that return UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | AuthenticationProcessor.`getUserSession()`

    Methods in org.keycloak.authentication with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `static ClientSessionContext` | AuthenticationProcessor.`attachSession(AuthenticationSessionModel authSession, UserSessionModel userSession, KeycloakSession session, RealmModel realm, ClientConnection connection, EventBuilder event)`
    `void` | AuthenticationFlowContext.`attachUserSession(UserSessionModel userSession)`
    `void` | AuthenticationProcessor.Result.`attachUserSession(UserSessionModel userSession)`

  - ### Uses of UserSessionModel in org.keycloak.broker.oidc

    Methods in org.keycloak.broker.oidc with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `void` | OIDCIdentityProvider.`backchannelLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)`
    `protected void` | OIDCIdentityProvider.`backchannelLogout(UserSessionModel userSession, String idToken)`
    `void` | AbstractOAuth2IdentityProvider.`exchangeExternalComplete(UserSessionModel userSession, BrokeredIdentityContext context, javax.ws.rs.core.MultivaluedMap<String,String> params)`
    `javax.ws.rs.core.Response` | AbstractOAuth2IdentityProvider.`exchangeFromToken(javax.ws.rs.core.UriInfo uriInfo, EventBuilder event, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject, javax.ws.rs.core.MultivaluedMap<String,String> params)`
    `protected javax.ws.rs.core.Response` | OIDCIdentityProvider.`exchangeSessionToken(javax.ws.rs.core.UriInfo uriInfo, EventBuilder event, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`
    `protected javax.ws.rs.core.Response` | AbstractOAuth2IdentityProvider.`exchangeSessionToken(javax.ws.rs.core.UriInfo uriInfo, EventBuilder event, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`
    `protected javax.ws.rs.core.Response` | OIDCIdentityProvider.`exchangeStoredToken(javax.ws.rs.core.UriInfo uriInfo, EventBuilder event, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`
    `protected javax.ws.rs.core.Response` | AbstractOAuth2IdentityProvider.`exchangeStoredToken(javax.ws.rs.core.UriInfo uriInfo, EventBuilder event, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`
    `protected javax.ws.rs.core.Response` | AbstractOAuth2IdentityProvider.`hasExternalExchangeToken(EventBuilder event, UserSessionModel tokenUserSession, javax.ws.rs.core.MultivaluedMap<String,String> params)` check to see if we have a token exchange in session in other words check to see if this session was created by an external exchange
    `javax.ws.rs.core.Response` | OIDCIdentityProvider.`keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)`
    `String` | OIDCIdentityProvider.`refreshTokenForLogout(KeycloakSession session, UserSessionModel userSession)` Returns access token response as a string from a refresh token invocation on the remote OIDC broker

  - ### Uses of UserSessionModel in org.keycloak.broker.provider

    Methods in org.keycloak.broker.provider with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `void` | IdentityProvider.`backchannelLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)`
    `void` | AbstractIdentityProvider.`backchannelLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)`
    `protected javax.ws.rs.core.Response` | AbstractIdentityProvider.`exchangeErrorResponse(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, String errorCode, String reason)`
    `void` | ExchangeExternalToken.`exchangeExternalComplete(UserSessionModel userSession, BrokeredIdentityContext context, javax.ws.rs.core.MultivaluedMap<String,String> params)`
    `javax.ws.rs.core.Response` | ExchangeTokenToIdentityProviderToken.`exchangeFromToken(javax.ws.rs.core.UriInfo uriInfo, EventBuilder event, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject, javax.ws.rs.core.MultivaluedMap<String,String> params)`
    `javax.ws.rs.core.Response` | AbstractIdentityProvider.`exchangeNotLinked(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`
    `javax.ws.rs.core.Response` | AbstractIdentityProvider.`exchangeNotLinkedNoStore(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`
    `javax.ws.rs.core.Response` | AbstractIdentityProvider.`exchangeTokenExpired(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`
    `protected String` | AbstractIdentityProvider.`getLinkingUrl(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession)`
    `javax.ws.rs.core.Response` | IdentityProvider.`keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)` Called when a Keycloak application initiates a logout through the browser.
    `javax.ws.rs.core.Response` | AbstractIdentityProvider.`keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)`

  - ### Uses of UserSessionModel in org.keycloak.broker.saml

    Methods in org.keycloak.broker.saml with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `void` | SAMLIdentityProvider.`backchannelLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)`
    `protected LogoutRequestType` | SAMLIdentityProvider.`buildLogoutRequest(UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm, String singleLogoutServiceUrl, SamlProtocolExtensionsAwareBuilder.NodeGenerator... extensions)`
    `javax.ws.rs.core.Response` | SAMLIdentityProvider.`keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)`

  - ### Uses of UserSessionModel in org.keycloak.device

    Methods in org.keycloak.device with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `static void` | DeviceActivityManager.`attachDevice(UserSessionModel userSession, KeycloakSession session)` Attaches a device to the given `userSession` where the device information is obtained from the `HttpHeaders.USER_AGENT` in the current request, if available.
    `static DeviceRepresentation` | DeviceActivityManager.`getCurrentDevice(UserSessionModel userSession)` Returns the device information associated with the given `userSession`.

  - ### Uses of UserSessionModel in org.keycloak.events

    Methods in org.keycloak.events with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `EventBuilder` | EventBuilder.`session(UserSessionModel session)`

  - ### Uses of UserSessionModel in org.keycloak.forms.account

    Method parameters in org.keycloak.forms.account with type arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `AccountProvider` | AccountProvider.`setSessions(List<UserSessionModel> sessions)`

  - ### Uses of UserSessionModel in org.keycloak.forms.account.freemarker

    Fields in org.keycloak.forms.account.freemarker with type parameters of type UserSessionModel
    Modifier and Type | Field and Description
    --- | ---
    `protected List<UserSessionModel>` | FreeMarkerAccountProvider.`sessions`

    Method parameters in org.keycloak.forms.account.freemarker with type arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `AccountProvider` | FreeMarkerAccountProvider.`setSessions(List<UserSessionModel> sessions)`

  - ### Uses of UserSessionModel in org.keycloak.forms.account.freemarker.model

    Constructors in org.keycloak.forms.account.freemarker.model with parameters of type UserSessionModel
    Constructor and Description
    `UserSessionBean(RealmModel realm, UserSessionModel session)`

    Constructor parameters in org.keycloak.forms.account.freemarker.model with type arguments of type UserSessionModel
    Constructor and Description
    `SessionsBean(RealmModel realm, List<UserSessionModel> sessions)`

  - ### Uses of UserSessionModel in org.keycloak.models

    Subinterfaces of UserSessionModel in org.keycloak.models
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `OfflineUserSessionModel` Hacked extension to UserSessionModel so that user id can be obtain directly so

    Fields in org.keycloak.models with type parameters of type UserSessionModel
    Modifier and Type | Field and Description
    --- | ---
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`BROKER_SESSION_ID`
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`BROKER_USER_ID`
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`CLIENT_ID`
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`CORRESPONDING_SESSION_ID` Represents the corresponding offline user session for the online user session.
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`ID`
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`IS_OFFLINE`
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`LAST_SESSION_REFRESH`
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`REALM_ID`
    `static SearchableModelField<UserSessionModel>` | UserSessionModel.SearchableFields.`USER_ID`

    Methods in org.keycloak.models that return UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | UserSessionProvider.`createOfflineUserSession(UserSessionModel userSession)` Newly created userSession won't contain attached AuthenticatedClientSessions
    `UserSessionModel` | UserSessionProvider.`createUserSession(RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId)`
    `UserSessionModel` | UserSessionProvider.`createUserSession(String id, RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId, UserSessionModel.SessionPersistenceState persistenceState)`
    `UserSessionModel` | UserSessionProvider.`getOfflineUserSession(RealmModel realm, String userSessionId)`
    `UserSessionModel` | UserSessionProvider.`getOfflineUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)`
    `UserSessionModel` | AuthenticatedClientSessionModel.`getUserSession()`
    `UserSessionModel` | UserSessionProvider.`getUserSession(RealmModel realm, String id)`
    `UserSessionModel` | UserSessionProvider.`getUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)`
    `UserSessionModel` | UserSessionProvider.`getUserSessionWithPredicate(RealmModel realm, String id, boolean offline, Predicate<UserSessionModel> predicate)` Return userSession of specified ID as long as the predicate passes.

    Methods in org.keycloak.models that return types with arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `default List<UserSessionModel>` | UserSessionProvider.`getOfflineUserSessionByBrokerUserId(RealmModel realm, String brokerUserId)` Deprecated. Use `getOfflineUserSessionByBrokerUserIdStream` instead.
    `Stream<UserSessionModel>` | UserSessionProvider.`getOfflineUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)` Obtains the offline user sessions associated with the user that matches the specified `brokerUserId`.
    `default List<UserSessionModel>` | UserSessionProvider.`getOfflineUserSessions(RealmModel realm, ClientModel client, int first, int max)` Deprecated. use `getOfflineUserSessionsStream` instead.
    `default List<UserSessionModel>` | UserSessionProvider.`getOfflineUserSessions(RealmModel realm, UserModel user)` Deprecated. Use `getOfflineUserSessionsStream` instead.
    `Stream<UserSessionModel>` | UserSessionProvider.`getOfflineUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)` Obtains the offline user sessions associated with the specified client, starting from the `firstResult` and containing at most `maxResults`.
    `Stream<UserSessionModel>` | UserSessionProvider.`getOfflineUserSessionsStream(RealmModel realm, UserModel user)` Obtains the offline user sessions associated with the specified user.
    `default List<UserSessionModel>` | UserSessionProvider.`getUserSessionByBrokerUserId(RealmModel realm, String brokerUserId)` Deprecated. Use `getUserSessionByBrokerUserIdStream` instead.
    `Stream<UserSessionModel>` | UserSessionProvider.`getUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)` Obtains the online user sessions associated with the user that matches the specified `brokerUserId`.
    `default List<UserSessionModel>` | UserSessionProvider.`getUserSessions(RealmModel realm, ClientModel client)` Deprecated. Use `getUserSessionsStream` instead.
    `default List<UserSessionModel>` | UserSessionProvider.`getUserSessions(RealmModel realm, ClientModel client, int firstResult, int maxResults)` Deprecated. Use `getUserSessionsStream` instead.
    `default List<UserSessionModel>` | UserSessionProvider.`getUserSessions(RealmModel realm, UserModel user)` Deprecated. Use `getUserSessionsStream` instead.
    `Stream<UserSessionModel>` | UserSessionProvider.`getUserSessionsStream(RealmModel realm, ClientModel client)` Obtains the online user sessions associated with the specified client.
    `Stream<UserSessionModel>` | UserSessionProvider.`getUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)` Obtains the online user sessions associated with the specified client, starting from the `firstResult` and containing at most `maxResults`.
    `Stream<UserSessionModel>` | UserSessionProvider.`getUserSessionsStream(RealmModel realm, UserModel user)` Obtains the online user sessions associated with the specified user.

    Methods in org.keycloak.models with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `AuthenticatedClientSessionModel` | UserSessionProvider.`createClientSession(RealmModel realm, ClientModel client, UserSessionModel userSession)`
    `AuthenticatedClientSessionModel` | UserSessionProvider.`createOfflineClientSession(AuthenticatedClientSessionModel clientSession, UserSessionModel offlineUserSession)` Will automatically attach newly created offline client session to the offlineUserSession
    `UserSessionModel` | UserSessionProvider.`createOfflineUserSession(UserSessionModel userSession)` Newly created userSession won't contain attached AuthenticatedClientSessions
    `AuthenticatedClientSessionModel` | UserSessionProvider.`getClientSession(UserSessionModel userSession, ClientModel client, String clientSessionId, boolean offline)`
    `default AuthenticatedClientSessionModel` | UserSessionProvider.`getClientSession(UserSessionModel userSession, ClientModel client, UUID clientSessionId, boolean offline)` Deprecated. Use `UserSessionProvider.getClientSession(UserSessionModel, ClientModel, String, boolean)` instead.
    `void` | UserSessionProvider.`removeOfflineUserSession(RealmModel realm, UserSessionModel userSession)` Removes the attached clientSessions as well
    `void` | UserSessionProvider.`removeUserSession(RealmModel realm, UserSessionModel session)` This will remove attached ClientLoginSessionModels too

    Method parameters in org.keycloak.models with type arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | UserSessionProvider.`getUserSessionWithPredicate(RealmModel realm, String id, boolean offline, Predicate<UserSessionModel> predicate)` Return userSession of specified ID as long as the predicate passes.
    `void` | UserSessionProvider.`importUserSessions(Collection<UserSessionModel> persistentUserSessions, boolean offline)` Triggered by persister during pre-load.

  - ### Uses of UserSessionModel in org.keycloak.models.jpa.session

    Methods in org.keycloak.models.jpa.session that return types with arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `Stream<UserSessionModel>` | JpaUserSessionPersisterProvider.`loadUserSessionsStream(Integer firstResult, Integer maxResults, boolean offline, Integer lastCreatedOn, String lastUserSessionId)`

    Methods in org.keycloak.models.jpa.session with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `void` | JpaUserSessionPersisterProvider.`createUserSession(UserSessionModel userSession, boolean offline)`

  - ### Uses of UserSessionModel in org.keycloak.models.map.storage

    Fields in org.keycloak.models.map.storage with type parameters of type UserSessionModel
    Modifier and Type | Field and Description
    --- | ---
    `static Map<SearchableModelField<UserSessionModel>,MapModelCriteriaBuilder.UpdatePredicatesFunc<Object,MapUserSessionEntity<Object>,UserSessionModel>>` | MapFieldPredicates.`USER_SESSION_PREDICATES`
    `static Map<SearchableModelField<UserSessionModel>,MapModelCriteriaBuilder.UpdatePredicatesFunc<Object,MapUserSessionEntity<Object>,UserSessionModel>>` | MapFieldPredicates.`USER_SESSION_PREDICATES`

  - ### Uses of UserSessionModel in org.keycloak.models.map.storage.chm

    Methods in org.keycloak.models.map.storage.chm that return types with arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `MapKeycloakTransaction<K,MapUserSessionEntity<K>,UserSessionModel>` | UserSessionConcurrentHashMapStorage.`createTransaction(KeycloakSession session)`

  - ### Uses of UserSessionModel in org.keycloak.models.map.userSession

    Classes in org.keycloak.models.map.userSession that implement UserSessionModel
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractUserSessionModel<K>`
    `class` | `MapUserSessionAdapter<K>`

    Fields in org.keycloak.models.map.userSession declared as UserSessionModel
    Modifier and Type | Field and Description
    --- | ---
    `protected UserSessionModel` | AbstractAuthenticatedClientSessionModel.`userSession`

    Fields in org.keycloak.models.map.userSession with type parameters of type UserSessionModel
    Modifier and Type | Field and Description
    --- | ---
    `protected MapKeycloakTransaction<UK,MapUserSessionEntity<UK>,UserSessionModel>` | MapUserSessionProvider.`userSessionTx`

    Methods in org.keycloak.models.map.userSession that return UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | MapUserSessionProvider.`createOfflineUserSession(UserSessionModel userSession)`
    `UserSessionModel` | MapUserSessionProvider.`createUserSession(RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId)`
    `UserSessionModel` | MapUserSessionProvider.`createUserSession(String id, RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId, UserSessionModel.SessionPersistenceState persistenceState)`
    `UserSessionModel` | MapUserSessionProvider.`getOfflineUserSession(RealmModel realm, String userSessionId)`
    `UserSessionModel` | MapUserSessionProvider.`getOfflineUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)`
    `UserSessionModel` | MapAuthenticatedClientSessionAdapter.`getUserSession()`
    `UserSessionModel` | MapUserSessionProvider.`getUserSession(RealmModel realm, String id)`
    `UserSessionModel` | MapUserSessionProvider.`getUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)`
    `UserSessionModel` | MapUserSessionProvider.`getUserSessionWithPredicate(RealmModel realm, String id, boolean offline, Predicate<UserSessionModel> predicate)`

    Methods in org.keycloak.models.map.userSession that return types with arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `Stream<UserSessionModel>` | MapUserSessionProvider.`getOfflineUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)`
    `Stream<UserSessionModel>` | MapUserSessionProvider.`getOfflineUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)`
    `Stream<UserSessionModel>` | MapUserSessionProvider.`getOfflineUserSessionsStream(RealmModel realm, UserModel user)`
    `Stream<UserSessionModel>` | MapUserSessionProvider.`getUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)`
    `Stream<UserSessionModel>` | MapUserSessionProvider.`getUserSessionsStream(RealmModel realm, ClientModel client)`
    `Stream<UserSessionModel>` | MapUserSessionProvider.`getUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)`
    `Stream<UserSessionModel>` | MapUserSessionProvider.`getUserSessionsStream(RealmModel realm, UserModel user)`

    Methods in org.keycloak.models.map.userSession with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `AuthenticatedClientSessionModel` | MapUserSessionProvider.`createClientSession(RealmModel realm, ClientModel client, UserSessionModel userSession)`
    `AuthenticatedClientSessionModel` | MapUserSessionProvider.`createOfflineClientSession(AuthenticatedClientSessionModel clientSession, UserSessionModel offlineUserSession)`
    `UserSessionModel` | MapUserSessionProvider.`createOfflineUserSession(UserSessionModel userSession)`
    `AuthenticatedClientSessionModel` | MapUserSessionProvider.`getClientSession(UserSessionModel userSession, ClientModel client, String clientSessionId, boolean offline)`
    `void` | MapUserSessionProvider.`removeOfflineUserSession(RealmModel realm, UserSessionModel userSession)`
    `void` | MapUserSessionProvider.`removeUserSession(RealmModel realm, UserSessionModel session)`

    Method parameters in org.keycloak.models.map.userSession with type arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | MapUserSessionProvider.`getUserSessionWithPredicate(RealmModel realm, String id, boolean offline, Predicate<UserSessionModel> predicate)`
    `void` | MapUserSessionProvider.`importUserSessions(Collection<UserSessionModel> persistentUserSessions, boolean offline)`

    Constructors in org.keycloak.models.map.userSession with parameters of type UserSessionModel
    Constructor and Description
    `AbstractAuthenticatedClientSessionModel(KeycloakSession session, RealmModel realm, ClientModel client, UserSessionModel userSession, MapAuthenticatedClientSessionEntity<K> entity)`
    `MapAuthenticatedClientSessionAdapter(KeycloakSession session, RealmModel realm, ClientModel client, UserSessionModel userSession, MapAuthenticatedClientSessionEntity<K> entity)`

    Constructor parameters in org.keycloak.models.map.userSession with type arguments of type UserSessionModel
    Constructor and Description
    `MapUserSessionProvider(KeycloakSession session, MapStorage<UK,MapUserSessionEntity<UK>,UserSessionModel> userSessionStore, MapStorage<CK,MapAuthenticatedClientSessionEntity<CK>,AuthenticatedClientSessionModel> clientSessionStore)`

  - ### Uses of UserSessionModel in org.keycloak.models.session

    Classes in org.keycloak.models.session that implement UserSessionModel
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PersistentUserSessionAdapter`

    Methods in org.keycloak.models.session that return UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | PersistentAuthenticatedClientSessionAdapter.`getUserSession()`

    Methods in org.keycloak.models.session that return types with arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `default List<UserSessionModel>` | UserSessionPersisterProvider.`loadUserSessions(int firstResult, int maxResults, boolean offline, int lastCreatedOn, String lastUserSessionId)` Deprecated. Use `loadUserSessionsStream` instead.
    `Stream<UserSessionModel>` | UserSessionPersisterProvider.`loadUserSessionsStream(Integer firstResult, Integer maxResults, boolean offline, Integer lastCreatedOn, String lastUserSessionId)` Called during startup.
    `Stream<UserSessionModel>` | DisabledUserSessionPersisterProvider.`loadUserSessionsStream(Integer firstResult, Integer maxResults, boolean offline, Integer lastCreatedOn, String lastUserSessionId)`

    Methods in org.keycloak.models.session with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `void` | UserSessionPersisterProvider.`createUserSession(UserSessionModel userSession, boolean offline)`
    `void` | DisabledUserSessionPersisterProvider.`createUserSession(UserSessionModel userSession, boolean offline)`
    `void` | PersistentAuthenticatedClientSessionAdapter.`setUserSession(UserSessionModel userSession)`

    Constructors in org.keycloak.models.session with parameters of type UserSessionModel
    Constructor and Description
    `PersistentAuthenticatedClientSessionAdapter(KeycloakSession session, PersistentClientSessionModel model, RealmModel realm, ClientModel client, UserSessionModel userSession)`
    `PersistentUserSessionAdapter(UserSessionModel other)`

  - ### Uses of UserSessionModel in org.keycloak.models.sessions.infinispan

    Classes in org.keycloak.models.sessions.infinispan that implement UserSessionModel
    Modifier and Type | Class and Description
    --- | ---
    `class` | `UserSessionAdapter`

    Methods in org.keycloak.models.sessions.infinispan that return UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | InfinispanUserSessionProvider.`createOfflineUserSession(UserSessionModel userSession)`
    `UserSessionModel` | InfinispanUserSessionProvider.`createUserSession(RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId)`
    `UserSessionModel` | InfinispanUserSessionProvider.`createUserSession(String id, RealmModel realm, UserModel user, String loginUsername, String ipAddress, String authMethod, boolean rememberMe, String brokerSessionId, String brokerUserId, UserSessionModel.SessionPersistenceState persistenceState)`
    `UserSessionModel` | InfinispanUserSessionProvider.`getOfflineUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)`
    `UserSessionModel` | AuthenticatedClientSessionAdapter.`getUserSession()`
    `UserSessionModel` | InfinispanUserSessionProvider.`getUserSession(RealmModel realm, String id)`
    `UserSessionModel` | InfinispanUserSessionProvider.`getUserSessionByBrokerSessionId(RealmModel realm, String brokerSessionId)`
    `UserSessionModel` | InfinispanUserSessionProvider.`getUserSessionWithPredicate(RealmModel realm, String id, boolean offline, Predicate<UserSessionModel> predicate)`

    Methods in org.keycloak.models.sessions.infinispan that return types with arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getOfflineUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)`
    `Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getOfflineUserSessionsStream(RealmModel realm, ClientModel client, Integer first, Integer max)`
    `Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getOfflineUserSessionsStream(RealmModel realm, UserModel user)`
    `List<UserSessionModel>` | Consumers.UserSessionModelsConsumer.`getSessions()`
    `Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getUserSessionByBrokerUserIdStream(RealmModel realm, String brokerUserId)`
    `protected Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getUserSessionModels(RealmModel realm, Integer firstResult, Integer maxResults, boolean offline, UserSessionPredicate predicate)`
    `Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getUserSessionsStream(RealmModel realm, ClientModel client)`
    `Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults)`
    `protected Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getUserSessionsStream(RealmModel realm, ClientModel client, Integer firstResult, Integer maxResults, boolean offline)`
    `protected Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getUserSessionsStream(RealmModel realm, Predicate<Map.Entry<String,SessionEntityWrapper<UserSessionEntity>>> predicate, boolean offline)`
    `Stream<UserSessionModel>` | InfinispanUserSessionProvider.`getUserSessionsStream(RealmModel realm, UserModel user)`

    Methods in org.keycloak.models.sessions.infinispan with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `AuthenticatedClientSessionModel` | InfinispanUserSessionProvider.`createClientSession(RealmModel realm, ClientModel client, UserSessionModel userSession)`
    `AuthenticatedClientSessionModel` | InfinispanUserSessionProvider.`createOfflineClientSession(AuthenticatedClientSessionModel clientSession, UserSessionModel offlineUserSession)`
    `UserSessionModel` | InfinispanUserSessionProvider.`createOfflineUserSession(UserSessionModel userSession)`
    `AuthenticatedClientSessionAdapter` | InfinispanUserSessionProvider.`getClientSession(UserSessionModel userSession, ClientModel client, String clientSessionId, boolean offline)`
    `AuthenticatedClientSessionAdapter` | InfinispanUserSessionProvider.`getClientSession(UserSessionModel userSession, ClientModel client, UUID clientSessionId, boolean offline)`
    `protected UserSessionAdapter` | InfinispanUserSessionProvider.`importUserSession(UserSessionModel userSession, boolean offline)`
    `void` | InfinispanUserSessionProvider.`removeOfflineUserSession(RealmModel realm, UserSessionModel userSession)`
    `void` | InfinispanUserSessionProvider.`removeUserSession(RealmModel realm, UserSessionModel session)`

    Method parameters in org.keycloak.models.sessions.infinispan with type arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | InfinispanUserSessionProvider.`getUserSessionWithPredicate(RealmModel realm, String id, boolean offline, Predicate<UserSessionModel> predicate)`
    `void` | InfinispanUserSessionProvider.`importUserSessions(Collection<UserSessionModel> persistentUserSessions, boolean offline)`

    Constructors in org.keycloak.models.sessions.infinispan with parameters of type UserSessionModel
    Constructor and Description
    `AuthenticatedClientSessionAdapter(KeycloakSession kcSession, InfinispanUserSessionProvider provider, AuthenticatedClientSessionEntity entity, ClientModel client, UserSessionModel userSession, InfinispanChangelogBasedTransaction<UUID,AuthenticatedClientSessionEntity> clientSessionUpdateTx, boolean offline)`

  - ### Uses of UserSessionModel in org.keycloak.models.sessions.infinispan.changes.sessions

    Methods in org.keycloak.models.sessions.infinispan.changes.sessions with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `SessionUpdateTask.CrossDCMessageStatus` | CrossDCLastSessionRefreshChecker.`shouldSaveClientSessionToRemoteCache(KeycloakSession kcSession, RealmModel realm, SessionEntityWrapper<AuthenticatedClientSessionEntity> sessionWrapper, UserSessionModel userSession, boolean offline, int newTimestamp)`

  - ### Uses of UserSessionModel in org.keycloak.models.utils

    Methods in org.keycloak.models.utils with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `static UserSessionRepresentation` | ModelToRepresentation.`toRepresentation(UserSessionModel session)`

  - ### Uses of UserSessionModel in org.keycloak.protocol

    Methods in org.keycloak.protocol with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `javax.ws.rs.core.Response` | LoginProtocol.`authenticated(AuthenticationSessionModel authSession, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `javax.ws.rs.core.Response` | LoginProtocol.`backchannelLogout(UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `javax.ws.rs.core.Response` | LoginProtocol.`finishLogout(UserSessionModel userSession)`
    `javax.ws.rs.core.Response` | LoginProtocol.`frontchannelLogout(UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `boolean` | LoginProtocol.`requireReauthentication(UserSessionModel userSession, AuthenticationSessionModel authSession)`

  - ### Uses of UserSessionModel in org.keycloak.protocol.docker

    Methods in org.keycloak.protocol.docker with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `javax.ws.rs.core.Response` | DockerAuthV2Protocol.`authenticated(AuthenticationSessionModel authSession, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `javax.ws.rs.core.Response` | DockerAuthV2Protocol.`backchannelLogout(UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `javax.ws.rs.core.Response` | DockerAuthV2Protocol.`finishLogout(UserSessionModel userSession)`
    `javax.ws.rs.core.Response` | DockerAuthV2Protocol.`frontchannelLogout(UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `boolean` | DockerAuthV2Protocol.`requireReauthentication(UserSessionModel userSession, AuthenticationSessionModel clientSession)`

  - ### Uses of UserSessionModel in org.keycloak.protocol.docker.mapper

    Methods in org.keycloak.protocol.docker.mapper with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `DockerResponseToken` | DockerAuthV2AttributeMapper.`transformDockerResponseToken(DockerResponseToken responseToken, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `DockerResponseToken` | AllowAllDockerProtocolMapper.`transformDockerResponseToken(DockerResponseToken responseToken, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`

  - ### Uses of UserSessionModel in org.keycloak.protocol.oidc

    Fields in org.keycloak.protocol.oidc declared as UserSessionModel
    Modifier and Type | Field and Description
    --- | ---
    `UserSessionModel` | TokenManager.TokenValidation.`userSession`

    Methods in org.keycloak.protocol.oidc with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `static ClientSessionContext` | TokenManager.`attachAuthenticationSession(KeycloakSession session, UserSessionModel userSession, AuthenticationSessionModel authSession)`
    `javax.ws.rs.core.Response` | OIDCLoginProtocol.`authenticated(AuthenticationSessionModel authSession, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `javax.ws.rs.core.Response` | OIDCLoginProtocol.`backchannelLogout(UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `AccessToken` | TokenManager.`createClientAccessToken(KeycloakSession session, RealmModel realm, ClientModel client, UserModel user, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `javax.ws.rs.core.Response` | OIDCLoginProtocol.`finishLogout(UserSessionModel userSession)`
    `javax.ws.rs.core.Response` | OIDCLoginProtocol.`frontchannelLogout(UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `protected AccessToken` | TokenManager.`initToken(RealmModel realm, ClientModel client, UserModel user, UserSessionModel session, ClientSessionContext clientSessionCtx, javax.ws.rs.core.UriInfo uriInfo)`
    `protected boolean` | OIDCLoginProtocol.`isAuthTimeExpired(UserSessionModel userSession, AuthenticationSessionModel authSession)`
    `protected boolean` | OIDCLoginProtocol.`isReAuthRequiredForKcAction(UserSessionModel userSession, AuthenticationSessionModel authSession)`
    `boolean` | OIDCLoginProtocol.`requireReauthentication(UserSessionModel userSession, AuthenticationSessionModel authSession)`
    `TokenManager.AccessTokenResponseBuilder` | TokenManager.`responseBuilder(RealmModel realm, ClientModel client, EventBuilder event, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | TokenManager.`transformAccessToken(KeycloakSession session, AccessToken token, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessTokenResponse` | TokenManager.`transformAccessTokenResponse(KeycloakSession session, AccessTokenResponse accessTokenResponse, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `void` | TokenManager.`transformIDToken(KeycloakSession session, IDToken token, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | TokenManager.`transformUserInfoAccessToken(KeycloakSession session, AccessToken token, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`

    Constructors in org.keycloak.protocol.oidc with parameters of type UserSessionModel
    Constructor and Description
    `AccessTokenResponseBuilder(RealmModel realm, ClientModel client, EventBuilder event, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `TokenValidation(UserModel user, UserSessionModel userSession, ClientSessionContext clientSessionCtx, AccessToken newToken)`

  - ### Uses of UserSessionModel in org.keycloak.protocol.oidc.endpoints

    Methods in org.keycloak.protocol.oidc.endpoints with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `javax.ws.rs.core.Response` | TokenEndpoint.`createTokenResponse(UserModel user, UserSessionModel userSession, ClientSessionContext clientSessionCtx, String scopeParam, boolean code)`
    `protected javax.ws.rs.core.Response` | TokenEndpoint.`exchangeClientToClient(UserModel targetUser, UserSessionModel targetUserSession)`
    `protected javax.ws.rs.core.Response` | TokenEndpoint.`exchangeClientToOIDCClient(UserModel targetUser, UserSessionModel targetUserSession, String requestedTokenType, ClientModel targetClient, String audience, String scope)`
    `protected javax.ws.rs.core.Response` | TokenEndpoint.`exchangeClientToSAML2Client(UserModel targetUser, UserSessionModel targetUserSession, String requestedTokenType, ClientModel targetClient, String audience, String scope)`
    `javax.ws.rs.core.Response` | TokenEndpoint.`exchangeToIdentityProvider(UserModel targetUser, UserSessionModel targetUserSession, String requestedIssuer)`

  - ### Uses of UserSessionModel in org.keycloak.protocol.oidc.mappers

    Methods in org.keycloak.protocol.oidc.mappers with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | UserSessionNoteMapper.`setClaim(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)`
    `protected void` | ScriptBasedOIDCProtocolMapper.`setClaim(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)`
    `protected void` | HardcodedClaim.`setClaim(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)`
    `protected void` | AbstractOIDCProtocolMapper.`setClaim(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)` Intended to be overridden in `ProtocolMapper` implementations to add claims to an token.
    `protected void` | UserSessionNoteMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)`
    `protected void` | UserPropertyMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)`
    `protected void` | UserAttributeMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)`
    `protected void` | HardcodedClaim.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)`
    `protected void` | GroupMembershipMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)` Adds the group membership information to the `JsonWebToken.otherClaims`.
    `protected void` | FullNameMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)`
    `protected void` | AddressMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)`
    `protected void` | AbstractOIDCProtocolMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)` Deprecated. override `AbstractOIDCProtocolMapper.setClaim(IDToken, ProtocolMapperModel, UserSessionModel, KeycloakSession, ClientSessionContext)` instead.
    `protected void` | UserRealmRoleMappingMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession session, ClientSessionContext clientSessionCtx)`
    `protected void` | UserClientRoleMappingMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession session, ClientSessionContext clientSessionCtx)`
    `protected void` | ScriptBasedOIDCProtocolMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)`
    `protected void` | ClaimsParameterTokenMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)`
    `protected void` | AudienceProtocolMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)`
    `protected void` | AbstractOIDCProtocolMapper.`setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession, ClientSessionContext clientSessionCtx)` Intended to be overridden in `ProtocolMapper` implementations to add claims to an token.
    `AccessToken` | RoleNameMapper.`transformAccessToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | OIDCAccessTokenMapper.`transformAccessToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | HardcodedRole.`transformAccessToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | AudienceResolveProtocolMapper.`transformAccessToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | AllowedWebOriginsProtocolMapper.`transformAccessToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | AbstractPairwiseSubMapper.`transformAccessToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | AbstractOIDCProtocolMapper.`transformAccessToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessTokenResponse` | OIDCAccessTokenResponseMapper.`transformAccessTokenResponse(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessTokenResponse` | AbstractOIDCProtocolMapper.`transformAccessTokenResponse(AccessTokenResponse accessTokenResponse, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `IDToken` | OIDCIDTokenMapper.`transformIDToken(IDToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSession)`
    `IDToken` | AbstractPairwiseSubMapper.`transformIDToken(IDToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `IDToken` | AbstractOIDCProtocolMapper.`transformIDToken(IDToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | UserInfoTokenMapper.`transformUserInfoToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | AbstractPairwiseSubMapper.`transformUserInfoToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `AccessToken` | AbstractOIDCProtocolMapper.`transformUserInfoToken(AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`

  - ### Uses of UserSessionModel in org.keycloak.protocol.saml

    Methods in org.keycloak.protocol.saml with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `javax.ws.rs.core.Response` | SamlProtocol.`authenticated(AuthenticationSessionModel authSession, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `javax.ws.rs.core.Response` | SamlProtocol.`backchannelLogout(UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `protected String` | SamlProtocol.`buildArtifactAndStoreResponse(SAML2Object statusResponseType, UserSessionModel userSession)`
    `protected javax.ws.rs.core.Response` | SamlProtocol.`buildLogoutArtifactResponse(UserSessionModel userSession, String redirectUri, StatusResponseType statusResponseType, JaxrsSAML2BindingBuilder bindingBuilder)` This method, instead of sending the actual response with the token, sends the artifact message via post or redirect.
    `protected javax.ws.rs.core.Response` | SamlProtocol.`buildLogoutResponse(UserSessionModel userSession, String logoutBindingUri, SAML2LogoutResponseBuilder builder, JaxrsSAML2BindingBuilder binding)`
    `javax.ws.rs.core.Response` | SamlProtocol.`finishLogout(UserSessionModel userSession)`
    `javax.ws.rs.core.Response` | SamlProtocol.`frontchannelLogout(UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `protected String` | SamlProtocol.`getNameId(String nameIdFormat, CommonClientSessionModel clientSession, UserSessionModel userSession)`
    `protected String` | SamlProtocol.`getPersistentNameId(CommonClientSessionModel clientSession, UserSessionModel userSession)` Attempts to retrieve the persistent type NameId as follows: saml.persistent.name.id.for.$clientId user attribute saml.persistent.name.id.for.* user attribute G-$randomUuid
    `protected String` | SamlProtocol.`getSAMLNameId(List<SamlProtocol.ProtocolMapperProcessor<SAMLNameIdMapper>> samlNameIdMappers, String nameIdFormat, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `static boolean` | SamlProtocol.`isLogoutPostBindingForInitiator(UserSessionModel session)`
    `AttributeStatementType` | SamlProtocol.`populateAttributeStatements(List<SamlProtocol.ProtocolMapperProcessor<SAMLAttributeStatementMapper>> attributeStatementMappers, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `void` | SamlProtocol.`populateRoles(SamlProtocol.ProtocolMapperProcessor<SAMLRoleListMapper> roleListMapper, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx, AttributeStatementType existingAttributeStatement)`
    `boolean` | SamlProtocol.`requireReauthentication(UserSessionModel userSession, AuthenticationSessionModel authSession)`
    `ResponseType` | SamlProtocol.`transformLoginResponse(List<SamlProtocol.ProtocolMapperProcessor<SAMLLoginResponseMapper>> mappers, ResponseType response, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`

  - ### Uses of UserSessionModel in org.keycloak.protocol.saml.mappers

    Methods in org.keycloak.protocol.saml.mappers with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `String` | UserAttributeNameIdMapper.`mapperNameId(String nameIdFormat, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `String` | SAMLNameIdMapper.`mapperNameId(String nameIdFormat, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `void` | SAMLRoleListMapper.`mapRoles(AttributeStatementType roleAttributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `void` | RoleListMapper.`mapRoles(AttributeStatementType roleAttributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `void` | UserSessionNoteStatementMapper.`transformAttributeStatement(AttributeStatementType attributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `void` | UserPropertyAttributeStatementMapper.`transformAttributeStatement(AttributeStatementType attributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `void` | UserAttributeStatementMapper.`transformAttributeStatement(AttributeStatementType attributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `void` | ScriptBasedMapper.`transformAttributeStatement(AttributeStatementType attributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)` This method attaches one or many attributes to the passed attribute statement.
    `void` | SAMLAttributeStatementMapper.`transformAttributeStatement(AttributeStatementType attributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `void` | HardcodedAttributeMapper.`transformAttributeStatement(AttributeStatementType attributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `void` | GroupMembershipMapper.`transformAttributeStatement(AttributeStatementType attributeStatement, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)`
    `ResponseType` | SAMLLoginResponseMapper.`transformLoginResponse(ResponseType response, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `ResponseType` | SAMLAudienceResolveProtocolMapper.`transformLoginResponse(ResponseType response, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`
    `ResponseType` | SAMLAudienceProtocolMapper.`transformLoginResponse(ResponseType response, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`

  - ### Uses of UserSessionModel in org.keycloak.protocol.saml.preprocessor

    Methods in org.keycloak.protocol.saml.preprocessor with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `default LogoutRequestType` | SamlAuthenticationPreprocessor.`beforeProcessingLogoutRequest(LogoutRequestType logoutRequest, UserSessionModel authSession, AuthenticatedClientSessionModel clientSession)` Called before a logout request is processed.
    `default LogoutRequestType` | SamlAuthenticationPreprocessor.`beforeSendingLogoutRequest(LogoutRequestType logoutRequest, UserSessionModel authSession, AuthenticatedClientSessionModel clientSession)` Called before a logout request is sent.

  - ### Uses of UserSessionModel in org.keycloak.services.managers

    Methods in org.keycloak.services.managers that return UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `UserSessionModel` | UserSessionManager.`findOfflineUserSession(RealmModel realm, String userSessionId)`
    `UserSessionModel` | AuthenticationManager.AuthResult.`getSession()`
    `UserSessionModel` | Auth.`getSession()`
    `UserSessionModel` | AuthenticationSessionManager.`getUserSession(AuthenticationSessionModel authSession)`
    `UserSessionModel` | AuthenticationSessionManager.`getUserSessionFromAuthCookie(RealmModel realm)`
    `UserSessionModel` | UserSessionCrossDCManager.`getUserSessionIfExistsRemotely(AuthenticationSessionManager asm, RealmModel realm)`
    `UserSessionModel` | UserSessionCrossDCManager.`getUserSessionWithClient(RealmModel realm, String id, boolean offline, String clientUUID)`
    `UserSessionModel` | UserSessionCrossDCManager.`getUserSessionWithClient(RealmModel realm, String id, String clientUUID)`

    Methods in org.keycloak.services.managers that return types with arguments of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `List<UserSessionModel>` | UserSessionManager.`findOfflineSessions(RealmModel realm, UserModel user)` Deprecated.
    `Stream<UserSessionModel>` | UserSessionManager.`findOfflineSessionsStream(RealmModel realm, UserModel user)`

    Methods in org.keycloak.services.managers with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `static BackchannelLogoutResponse` | AuthenticationManager.`backchannelLogout(KeycloakSession session, RealmModel realm, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, ClientConnection connection, javax.ws.rs.core.HttpHeaders headers, boolean logoutBroker)`
    `static BackchannelLogoutResponse` | AuthenticationManager.`backchannelLogout(KeycloakSession session, RealmModel realm, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, ClientConnection connection, javax.ws.rs.core.HttpHeaders headers, boolean logoutBroker, boolean offlineSession)`
    `static void` | AuthenticationManager.`backchannelLogout(KeycloakSession session, UserSessionModel userSession, boolean logoutBroker)`
    `static javax.ws.rs.core.Response` | AuthenticationManager.`browserLogout(KeycloakSession session, RealmModel realm, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, ClientConnection connection, javax.ws.rs.core.HttpHeaders headers, String initiatingIdp)`
    `static IdentityCookieToken` | AuthenticationManager.`createIdentityToken(KeycloakSession keycloakSession, RealmModel realm, UserModel user, UserSessionModel session, String issuer)`
    `static void` | AuthenticationManager.`createLoginCookie(KeycloakSession keycloakSession, RealmModel realm, UserModel user, UserSessionModel session, javax.ws.rs.core.UriInfo uriInfo, ClientConnection connection)`
    `void` | UserSessionManager.`createOrUpdateOfflineSession(AuthenticatedClientSessionModel clientSession, UserSessionModel userSession)`
    `static boolean` | AuthenticationManager.`expireUserSessionCookie(KeycloakSession session, UserSessionModel userSession, RealmModel realm, javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.HttpHeaders headers, ClientConnection connection)`
    `static javax.ws.rs.core.Response` | AuthenticationManager.`finishBrowserLogout(KeycloakSession session, RealmModel realm, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, ClientConnection connection, javax.ws.rs.core.HttpHeaders headers)`
    `static javax.ws.rs.core.Response` | AuthenticationManager.`finishedRequiredActions(KeycloakSession session, AuthenticationSessionModel authSession, UserSessionModel userSession, ClientConnection clientConnection, org.jboss.resteasy.spi.HttpRequest request, javax.ws.rs.core.UriInfo uriInfo, EventBuilder event)`
    `static void` | AuthenticationManager.`finishUnconfirmedUserSession(KeycloakSession session, RealmModel realm, UserSessionModel userSessionModel)`
    `static boolean` | AuthenticationManager.`isOfflineSessionValid(RealmModel realm, UserSessionModel userSession)`
    `static boolean` | AuthenticationManager.`isSessionValid(RealmModel realm, UserSessionModel userSession)`
    `static javax.ws.rs.core.Response` | AuthenticationManager.`redirectAfterSuccessfulFlow(KeycloakSession session, RealmModel realm, UserSessionModel userSession, ClientSessionContext clientSessionCtx, org.jboss.resteasy.spi.HttpRequest request, javax.ws.rs.core.UriInfo uriInfo, ClientConnection clientConnection, EventBuilder event, AuthenticationSessionModel authSession)`
    `static javax.ws.rs.core.Response` | AuthenticationManager.`redirectAfterSuccessfulFlow(KeycloakSession session, RealmModel realm, UserSessionModel userSession, ClientSessionContext clientSessionCtx, org.jboss.resteasy.spi.HttpRequest request, javax.ws.rs.core.UriInfo uriInfo, ClientConnection clientConnection, EventBuilder event, AuthenticationSessionModel authSession, LoginProtocol protocol)`
    `void` | UserSessionManager.`revokeOfflineUserSession(UserSessionModel userSession)`

    Constructors in org.keycloak.services.managers with parameters of type UserSessionModel
    Constructor and Description
    `Auth(RealmModel realm, AccessToken token, UserModel user, ClientModel client, UserSessionModel session, boolean cookie)`
    `AuthResult(UserModel user, UserSessionModel session, AccessToken token)`

  - ### Uses of UserSessionModel in org.keycloak.social.twitter

    Methods in org.keycloak.social.twitter with parameters of type UserSessionModel
    Modifier and Type | Method and Description
    --- | ---
    `javax.ws.rs.core.Response` | TwitterIdentityProvider.`exchangeFromToken(javax.ws.rs.core.UriInfo uriInfo, EventBuilder builder, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject, javax.ws.rs.core.MultivaluedMap<String,String> params)`
    `protected javax.ws.rs.core.Response` | TwitterIdentityProvider.`exchangeSessionToken(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`
    `protected javax.ws.rs.core.Response` | TwitterIdentityProvider.`exchangeStoredToken(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)`

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