class SpringSessionLogoutHandler extends java.lang.Object implements org.pac4j.core.logout.handler.SessionLogoutHandler
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 |
|---|---|---|
|
java.util.Optional<java.lang.String> |
cleanRecord(java.lang.String sessionId) |
|
protected void |
destroy(org.pac4j.core.context.WebContext webContext, org.pac4j.core.context.session.SessionStore sessionStore, org.pac4j.core.profile.factory.ProfileManagerFactory profileManagerFactory, java.lang.String channel) |
|
void |
destroySession(org.pac4j.core.context.CallContext ctx, java.lang.String key) |
|
boolean |
isDestroySession() |
|
void |
recordSession(org.pac4j.core.context.CallContext ctx, java.lang.String key) |
|
void |
renewSession(org.pac4j.core.context.CallContext ctx, java.lang.String oldSessionId) |
|
void |
setDestroySession(boolean destroySession) |
|
java.lang.String |
toString() |
| Methods inherited from class | Name |
|---|---|
class java.lang.Object |
java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Groovy Documentation