|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.internet2.middleware.shibboleth.common.profile.provider.AbstractRequestURIMappedProfileHandler<HTTPInTransport,HTTPOutTransport>
edu.internet2.middleware.shibboleth.common.profile.provider.AbstractShibbolethProfileHandler<SAMLMDRelyingPartyConfigurationManager,Session>
edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler
edu.internet2.middleware.shibboleth.idp.profile.saml2.AbstractSAML2ProfileHandler
edu.internet2.middleware.shibboleth.idp.profile.saml2.SLOProfileHandler
public class SLOProfileHandler
Profile handler for limited logout capability.
| Nested Class Summary | |
|---|---|
class |
SLOProfileHandler.SLORequestContext
Represents the internal state of a Logout Request while it's being processed by the IdP. |
| Nested classes/interfaces inherited from class edu.internet2.middleware.shibboleth.idp.profile.saml2.AbstractSAML2ProfileHandler |
|---|
AbstractSAML2ProfileHandler.SAML2AuditLogEntry |
| Field Summary | |
|---|---|
static String |
HTTP_LOGOUT_BINDING_ATTRIBUTE
Name of attribute for tracking logged out session. |
static String |
LOCAL_LOGOUT_BINDING
Binding identifier representing "local" logout. |
private org.slf4j.Logger |
log
Class logger. |
private SAMLObjectBuilder<LogoutResponse> |
responseBuilder
Builder of LogoutResponse objects. |
private SAMLObjectBuilder<SingleLogoutService> |
sloServiceBuilder
Builder of SingleLogoutService objects. |
private String |
soapFaultResponseMessage
Canned SOAP fault. |
private String |
templatePath
Path to Velocity or JSP template for logout response to user. |
private org.apache.velocity.app.VelocityEngine |
velocity
Velocity engine to use to render logout response to user. |
| Fields inherited from class edu.internet2.middleware.shibboleth.idp.profile.saml2.AbstractSAML2ProfileHandler |
|---|
SAML_VERSION |
| Constructor Summary | |
|---|---|
SLOProfileHandler(String newPath)
Constructor. |
|
| Method Summary | |
|---|---|
protected LogoutResponse |
buildLogoutResponse(SLOProfileHandler.SLORequestContext requestContext,
Status status)
Builds LogoutResponse. |
protected void |
decodeRequest(SLOProfileHandler.SLORequestContext requestContext,
HTTPInTransport inTransport,
HTTPOutTransport outTransport)
Decodes an incoming request and populates a created request context with the resultant information. |
protected void |
destroySession(Session session)
Destroy a session. |
String |
getProfileId()
|
org.apache.velocity.app.VelocityEngine |
getVelocityEngine()
Gets the VelocityEngine to use. |
protected void |
localLogout(Session indirect,
HTTPInTransport inTransport,
HTTPOutTransport outTransport)
Handles clearing the active session, possibly an additional "indirect" session, and presenting a logout response to the client using a Velocity template. |
protected void |
populateAssertingPartyInformation(BaseSAMLProfileRequestContext requestContext)
Populates the request context with information about the asserting party. |
protected void |
populateProfileInformation(BaseSAMLProfileRequestContext requestContext)
Populates the request context with the information about the profile. |
protected void |
populateRelyingPartyInformation(BaseSAMLProfileRequestContext requestContext)
Populates the request context with information about the relying party. |
protected void |
populateSAMLMessageInformation(BaseSAMLProfileRequestContext requestContext)
Populates the request context with information from the inbound SAML message. |
protected void |
processLogoutRequest(HTTPInTransport inTransport,
HTTPOutTransport outTransport)
Process and respond to a SAML LogoutRequest message. |
void |
processRequest(HTTPInTransport inTransport,
HTTPOutTransport outTransport)
|
protected Endpoint |
selectEndpoint(BaseSAMLProfileRequestContext requestContext)
Selects the appropriate endpoint for the relying party and stores it in the request context. |
void |
setVelocityEngine(org.apache.velocity.app.VelocityEngine newVelocity)
Sets the VelocityEngine to use. |
| Methods inherited from class edu.internet2.middleware.shibboleth.idp.profile.saml2.AbstractSAML2ProfileHandler |
|---|
buildAssertion, buildAttributeStatement, buildConditions, buildEntityIssuer, buildErrorResponse, buildNameId, buildResponse, buildStatus, buildSubject, buildSubjectConfirmation, checkSamlVersion, getEncrypter, getKeyEncryptionCredential, getSessionIndexFromNameID, isEncryptAssertion, isEncryptNameID, isRequestRequiresEncryptNameID, isSignAssertion, populateRequestContext, populateStatusResponse, populateUserInformation, postProcessAssertion, postProcessResponse, resolveAttributes, resolvePrincipal, signAssertion, writeAuditLogEntry |
| Methods inherited from class edu.internet2.middleware.shibboleth.common.profile.provider.AbstractShibbolethProfileHandler |
|---|
getBuilderFactory, getParserPool, getProfileConfiguration, getRelyingPartyConfigurationManager, getSessionManager, getStorageService, setParserPool, setRelyingPartyConfigurationManager, setSessionManager, setStorageService |
| Methods inherited from class edu.internet2.middleware.shibboleth.common.profile.provider.AbstractRequestURIMappedProfileHandler |
|---|
getRequestPaths, setRequestPaths |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String LOCAL_LOGOUT_BINDING
public static final String HTTP_LOGOUT_BINDING_ATTRIBUTE
private final String soapFaultResponseMessage
private final org.slf4j.Logger log
private final SAMLObjectBuilder<SingleLogoutService> sloServiceBuilder
private final SAMLObjectBuilder<LogoutResponse> responseBuilder
private org.apache.velocity.app.VelocityEngine velocity
private String templatePath
| Constructor Detail |
|---|
public SLOProfileHandler(String newPath)
newPath - path to JSP or Velocity template| Method Detail |
|---|
public org.apache.velocity.app.VelocityEngine getVelocityEngine()
public void setVelocityEngine(org.apache.velocity.app.VelocityEngine newVelocity)
newVelocity - the VelocityEngine to usepublic String getProfileId()
getProfileId in class AbstractShibbolethProfileHandler<SAMLMDRelyingPartyConfigurationManager,Session>
public void processRequest(HTTPInTransport inTransport,
HTTPOutTransport outTransport)
throws ProfileException
ProfileException
protected void localLogout(Session indirect,
HTTPInTransport inTransport,
HTTPOutTransport outTransport)
throws ProfileException
indirect - additional session to clear during logoutinTransport - incoming transport objectoutTransport - outgoing transport object
ProfileException - if an error occurs during profile execution
protected void processLogoutRequest(HTTPInTransport inTransport,
HTTPOutTransport outTransport)
throws ProfileException
inTransport - incoming transport objectoutTransport - outgoing transport object
ProfileException - if an error occurs during profile execution
protected LogoutResponse buildLogoutResponse(SLOProfileHandler.SLORequestContext requestContext,
Status status)
throws ProfileException
requestContext - context information for the current requeststatus - a Status to add to the response
ProfileException - if an error occurs during profile executionprotected void destroySession(Session session)
session - session to destroy
protected void populateSAMLMessageInformation(BaseSAMLProfileRequestContext requestContext)
throws ProfileException
AbstractSAMLProfileHandler.populateRequestContext(BaseSAMLProfileRequestContext) has already invoked
AbstractSAMLProfileHandler.populateRelyingPartyInformation(BaseSAMLProfileRequestContext),and
AbstractSAMLProfileHandler.populateAssertingPartyInformation(BaseSAMLProfileRequestContext) have already been invoked and the
properties they provide are available in the request context.
populateSAMLMessageInformation in class AbstractSAMLProfileHandlerrequestContext - current request context
ProfileException - thrown if there is a problem populating the request context with information
protected void populateRelyingPartyInformation(BaseSAMLProfileRequestContext requestContext)
throws ProfileException
populateRelyingPartyInformation in class AbstractSAMLProfileHandlerrequestContext - current request context
ProfileException - thrown if there is a problem looking up the relying party's metadata
protected void populateAssertingPartyInformation(BaseSAMLProfileRequestContext requestContext)
throws ProfileException
AbstractSAMLProfileHandler.populateRequestContext(BaseSAMLProfileRequestContext) has already invoked
AbstractSAMLProfileHandler.populateRelyingPartyInformation(BaseSAMLProfileRequestContext) has already been invoked and the
properties it provides are available in the request context.
This method requires the the following request context properties to be populated: metadata provider, relying
party configuration
This methods populates the following request context properties: local entity ID, outbound message issuer, local
entity metadata
populateAssertingPartyInformation in class AbstractSAMLProfileHandlerrequestContext - current request context
ProfileException - thrown if there is a problem looking up the asserting party's metadata
protected Endpoint selectEndpoint(BaseSAMLProfileRequestContext requestContext)
throws ProfileException
selectEndpoint in class AbstractSAMLProfileHandlerrequestContext - current request context
ProfileException - thrown if there is a problem selecting a response endpoint
protected void populateProfileInformation(BaseSAMLProfileRequestContext requestContext)
throws ProfileException
AbstractSAMLProfileHandler.populateRequestContext(BaseSAMLProfileRequestContext) has already invoked
AbstractSAMLProfileHandler.populateRelyingPartyInformation(BaseSAMLProfileRequestContext),
AbstractSAMLProfileHandler.populateAssertingPartyInformation(BaseSAMLProfileRequestContext), and
AbstractSAMLProfileHandler.populateSAMLMessageInformation(BaseSAMLProfileRequestContext) have already been invoked and the
properties they provide are available in the request context.
This method requires the the following request context properties to be populated: relying party configuration
This methods populates the following request context properties: communication profile ID, profile configuration,
outbound message artifact type, peer entity endpoint
populateProfileInformation in class AbstractSAMLProfileHandlerrequestContext - current request context
ProfileException - thrown if there is a problem populating the profile information
protected void decodeRequest(SLOProfileHandler.SLORequestContext requestContext,
HTTPInTransport inTransport,
HTTPOutTransport outTransport)
throws ProfileException
requestContext - request context to which decoded information should be addedinTransport - inbound message transportoutTransport - outbound message transport
ProfileException - if there is a problem decoding the request
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||