class SpringSessionLogoutHandler extends org.pac4j.core.profile.factory.ProfileManagerFactoryAware implements org.pac4j.core.logout.handler.LogoutHandler
This is a LogoutHandler that works with the Spring Session repository instead of relying on a Pac4J Store as the DefaultLogoutHandler does. The behaviour should be equivalent to that of the DefaultLogoutHandler. It stores the OIDC Session ID (SID) in the Spring Session SID_FIELD_NAME attribute, so that it can then lookup sessions based on the SID for Single Logout. org.springframework.session.data.mongo.AbstractMongoSessionConverter instances need to accept SID_INDEX_NAME as the index name for looking up the SID_FIELD_NAME value. One such implementation is provided in this plugin: Pac4jJdkMongoSessionConverter
| Modifiers | Name | Description |
|---|---|---|
static java.lang.String |
SID_FIELD_NAME |
|
static java.lang.String |
SID_INDEX_NAME |
|
protected org.slf4j.Logger |
logger |
| Type | Name and description |
|---|---|
boolean |
destroySession |
| Constructor and description |
|---|
SpringSessionLogoutHandler
(org.springframework.session.FindByIndexNameSessionRepository<org.springframework.session.Session> repository) |
| Type Params | Return Type | Name and description |
|---|---|---|
|
protected void |
destroy(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore, java.lang.String channel) |
|
void |
destroySessionBack(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore, java.lang.String key) |
|
void |
destroySessionFront(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore, java.lang.String key) |
|
boolean |
isDestroySession() |
|
void |
recordSession(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore, java.lang.String key) |
|
void |
renewSession(java.lang.String oldSessionId, org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore) |
|
void |
setDestroySession(boolean destroySession) |
|
java.lang.String |
toString() |
| Methods inherited from class | Name |
|---|---|
class org.pac4j.core.profile.factory.ProfileManagerFactoryAware |
org.pac4j.core.profile.factory.ProfileManagerFactoryAware#setProfileManagerFactory(org.pac4j.core.profile.factory.ProfileManagerFactory), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#getProfileManagerFactory(), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#wait(long), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#wait(long, int), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#wait(), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#equals(java.lang.Object), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#toString(), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#hashCode(), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#getClass(), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#notify(), org.pac4j.core.profile.factory.ProfileManagerFactoryAware#notifyAll() |
Groovy Documentation