Class ProcessLogoutRequest

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction, Aware, MessageSource, MessageSourceAware, Action

public class ProcessLogoutRequest extends AbstractProfileAction
Profile action that processes a LogoutRequest by resolving matching sessions, and destroys them, populating the associated SPSession objects (excepting the one initiating the logout) into a LogoutContext.

A SubjectContext is also populated. If and only if a single IdPSession is resolved, a SessionContext is also populated.

Each SPSession is also assigned a unique number and inserted into the map returned by LogoutContext.getKeyedSessionMap().

Event:
EventIds.PROCEED_EVENT_ID, EventIds.INVALID_PROFILE_CTX, EventIds.INVALID_MESSAGE, EventIds.IO_ERROR, SAMLEventIds.SESSION_NOT_FOUND
Postcondition:
If at least one IdPSession was found, then a SubjectContext and LogoutContext will be populated., If a single IdPSession was found, then a SessionContext will be populated.