Class FSSingleLogoutHandler
- java.lang.Object
-
- com.sun.identity.federation.services.logout.FSSingleLogoutHandler
-
public class FSSingleLogoutHandler extends Object
Work class that handlesID-FFsingle logout.
-
-
Constructor Summary
Constructors Constructor Description FSSingleLogoutHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FSLogoutStatusdoIDPProxySoapProfile(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, FSSessionPartner currentSessionProvider, String userID, String sessionIndex, Object ssoToken)protected StringgetProfileToCommunicateLogout()Determines the profile to be used to communicate logout.protected com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorTypegetRemoteDescriptor(String remoteEntityId)Gets the remote provider descriptor.FSLogoutStatushandleSingleLogout(jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.http.HttpServletRequest request, FSSessionPartner currentSessionProvider, String userID, String sessionIndex, boolean isWMLAgent, Object ssoToken)FSLogoutStatusprocessHttpSingleLogoutRequest(jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.http.HttpServletRequest request, FSLogoutNotification reqLogout, FSSessionPartner currentSessionProvider, String userID, Object ssoToken, String sourceEntityId, String sessionIndex, boolean isWMLAgent, String relayState, String isSourceIDP)Processes the logout request received through http.protected FSLogoutStatusprocessSingleLogoutRequest(FSLogoutNotification reqLogout, FSSessionPartner currentSessionProvider, String userID, String sourceEntityId, String sessionIndex, boolean isWMLAgent, String isSourceIDP)Processes the logout request received from soap profile.protected voidreturnAfterCompletion()Invoked to either send back control to remote provider if logout message was received from one or to show the local logout status page to the user.voidsetHostedDescriptor(com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorType hostedProviderDesc)Sets the hosted provider details.voidsetHostedDescriptorConfig(com.sun.identity.federation.jaxb.entityconfig.BaseConfigType hostedConfig)Sets the hosted provider's extended meta config.voidsetHostedEntityId(String hostedEntityId)Sets hosted provider's entity id.voidsetHostedProviderRole(String hostedRole)Sets hosted provider's role.protected voidsetLogoutURL()Sets some commonly used URLs based on hosted provider.voidsetMetaAlias(String metaAlias)Sets hosted provider's meta alias.voidsetRealm(String realm)Sets the realm in which the provider resides.voidsetRelayState(String relayState)Sets the value ofRelayStateattribute.voidsetRemoteDescriptor(com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorType remoteDesc)Sets the remote provider descriptor.voidsetSingleLogoutProtocol(String protocol)Sets the single logout protocol to be used.
-
-
-
Method Detail
-
setLogoutURL
protected void setLogoutURL()
Sets some commonly used URLs based on hosted provider.
-
setRelayState
public void setRelayState(String relayState)
Sets the value ofRelayStateattribute.- Parameters:
relayState- the value ofRelayStateattribute.
-
setRealm
public void setRealm(String realm)
Sets the realm in which the provider resides.- Parameters:
realm- the realm in which the provider resides
-
setSingleLogoutProtocol
public void setSingleLogoutProtocol(String protocol)
Sets the single logout protocol to be used.- Parameters:
protocol- Single Logout Protocol to be set
-
handleSingleLogout
public FSLogoutStatus handleSingleLogout(jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.http.HttpServletRequest request, FSSessionPartner currentSessionProvider, String userID, String sessionIndex, boolean isWMLAgent, Object ssoToken)
-
returnAfterCompletion
protected void returnAfterCompletion()
Invoked to either send back control to remote provider if logout message was received from one or to show the local logout status page to the user.
-
doIDPProxySoapProfile
public FSLogoutStatus doIDPProxySoapProfile(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, FSSessionPartner currentSessionProvider, String userID, String sessionIndex, Object ssoToken)
-
setHostedDescriptor
public void setHostedDescriptor(com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorType hostedProviderDesc)
Sets the hosted provider details.- Parameters:
hostedProviderDesc- the descriptor of the hosted provider handling logout
-
setHostedDescriptorConfig
public void setHostedDescriptorConfig(com.sun.identity.federation.jaxb.entityconfig.BaseConfigType hostedConfig)
Sets the hosted provider's extended meta config.- Parameters:
hostedConfig- hosted provider's extended meta config
-
setHostedEntityId
public void setHostedEntityId(String hostedEntityId)
Sets hosted provider's entity id.- Parameters:
hostedEntityId- hosted provider's entity id.
-
setHostedProviderRole
public void setHostedProviderRole(String hostedRole)
Sets hosted provider's role.- Parameters:
hostedRole- hosted provider's role
-
setMetaAlias
public void setMetaAlias(String metaAlias)
Sets hosted provider's meta alias.- Parameters:
metaAlias- hosted provider's meta alias.
-
setRemoteDescriptor
public void setRemoteDescriptor(com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorType remoteDesc)
Sets the remote provider descriptor.- Parameters:
remoteDesc- Remote Provider Descriptor.
-
getRemoteDescriptor
protected com.sun.identity.liberty.ws.meta.jaxb.ProviderDescriptorType getRemoteDescriptor(String remoteEntityId)
Gets the remote provider descriptor.- Returns:
- remote provider descriptor
-
getProfileToCommunicateLogout
protected String getProfileToCommunicateLogout()
Determines the profile to be used to communicate logout.- Returns:
- String the liberty defined logout profile
-
processHttpSingleLogoutRequest
public FSLogoutStatus processHttpSingleLogoutRequest(jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.http.HttpServletRequest request, FSLogoutNotification reqLogout, FSSessionPartner currentSessionProvider, String userID, Object ssoToken, String sourceEntityId, String sessionIndex, boolean isWMLAgent, String relayState, String isSourceIDP)
Processes the logout request received through http.- Parameters:
response- the HttpServletResponse objectreqLogout- the logout requestcurrentSessionProvider- initial provider with whom to broadcastuserID- who is presently logging outssoToken- user sessionsourceEntityId- source provider's entity idsessionIndex- to be sent as part of logout messageisWMLAgent- determines if response to be sent to AML agentrelayState- received with the logout requestisSourceIDP- whether source provider is an IDP or not- Returns:
- logout status
-
processSingleLogoutRequest
protected FSLogoutStatus processSingleLogoutRequest(FSLogoutNotification reqLogout, FSSessionPartner currentSessionProvider, String userID, String sourceEntityId, String sessionIndex, boolean isWMLAgent, String isSourceIDP)
Processes the logout request received from soap profile.- Parameters:
reqLogout- the logout requestcurrentSessionProvider- initial provider with whom to broadcastuserID- who is presently logging outsourceEntityId- remote provider idsessionIndex- to be sent as part of logout messageisWMLAgent- determines if response to be sent to AML agentisSourceIDP- determines the role of the provider- Returns:
- logout status
-
-