public class ShibbolethSSOProfileHandler extends AbstractSAML1ProfileHandler
| Modifier and Type | Class and Description |
|---|---|
class |
ShibbolethSSOProfileHandler.ShibbolethSSORequestContext
Represents the internal state of a Shibboleth SSO Request while it's being processed by the IdP.
|
AbstractSAML1ProfileHandler.SAML1AuditLogEntry| Modifier and Type | Field and Description |
|---|---|
private String |
authenticationManagerPath
URL of the authentication manager servlet.
|
private SAMLObjectBuilder<AuthenticationStatement> |
authnStatementBuilder
Builder of AuthenticationStatement objects.
|
private SAMLObjectBuilder<Endpoint> |
endpointBuilder
Builder of Endpoint objects.
|
private org.slf4j.Logger |
log
Class logger.
|
private SAMLObjectBuilder<SubjectLocality> |
subjectLocalityBuilder
Builder of SubjectLocality objects.
|
SAML_VERSION| Constructor and Description |
|---|
ShibbolethSSOProfileHandler(String authnManagerPath)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected AuthenticationStatement |
buildAuthenticationStatement(ShibbolethSSOProfileHandler.ShibbolethSSORequestContext requestContext)
Builds the authentication statement for the authenticated principal.
|
protected ShibbolethSSOProfileHandler.ShibbolethSSORequestContext |
buildRequestContext(ShibbolethSSOLoginContext loginContext,
HTTPInTransport in,
HTTPOutTransport out)
Creates an authentication request context from the current environmental information.
|
protected SubjectLocality |
buildSubjectLocality(ShibbolethSSOProfileHandler.ShibbolethSSORequestContext requestContext)
Constructs the subject locality for the authentication statement.
|
protected void |
completeAuthenticationRequest(ShibbolethSSOLoginContext loginContext,
HTTPInTransport inTransport,
HTTPOutTransport outTransport)
Creates a response to the Shibboleth SSO and sends the user, with response in tow, back to the relying party
after they've been authenticated.
|
protected void |
decodeRequest(ShibbolethSSOProfileHandler.ShibbolethSSORequestContext requestContext,
HTTPInTransport inTransport,
HTTPOutTransport outTransport)
Decodes an incoming request and populates a created request context with the resultant information.
|
String |
getProfileId() |
protected void |
performAuthentication(HTTPInTransport inTransport,
HTTPOutTransport outTransport)
Creates a
ShibbolethSSOLoginContext an sends the request off to the AuthenticationManager to begin the
process of authenticating the user. |
protected void |
populateAssertingPartyInformation(BaseSAMLProfileRequestContext requestContext)
Populates the request context with information about the asserting party.
|
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.
|
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.
|
buildAssertion, buildAttributeStatement, buildConditions, buildErrorResponse, buildNameId, buildResponse, buildStatus, buildSubject, checkSamlVersion, getSessionIndexFromNameID, isSignAssertion, populateRequestContext, populateStatusResponse, populateUserInformation, resolveAttributes, resolvePrincipal, signAssertion, writeAuditLogEntryencodeResponse, filterNameIDAttributesByFormats, filterNameIDAttributesByProtocol, getAduitLog, getAuditLog, getEntitySupportedFormats, getIdGenerator, getInboundBinding, getInboundMessageDecoder, getMessageDecoders, getMessageEncoders, getMetadataCredentialResolver, getMetadataProvider, getOutboundMessageEncoder, getRelyingPartyConfiguration, getRequiredNameIDFormat, getSecurityPolicyResolver, getSupportedNameFormats, getSupportedOutboundBindings, getUserSession, getUserSession, isSignResponse, populateProfileInformation, selectNameIDAttributeAndEncoder, selectNameIDAttributeAndEncoder, setIdGenerator, setInboundBinding, setMessageDecoders, setMessageEncoders, setSecurityPolicyResolver, setSupportedOutboundBindingsgetBuilderFactory, getParserPool, getProfileConfiguration, getRelyingPartyConfigurationManager, getSessionManager, getStorageService, setParserPool, setRelyingPartyConfigurationManager, setSessionManager, setStorageServicegetRequestPaths, setRequestPathsprivate final org.slf4j.Logger log
private SAMLObjectBuilder<AuthenticationStatement> authnStatementBuilder
private SAMLObjectBuilder<SubjectLocality> subjectLocalityBuilder
private SAMLObjectBuilder<Endpoint> endpointBuilder
private String authenticationManagerPath
public ShibbolethSSOProfileHandler(String authnManagerPath)
authnManagerPath - path to the authentication manager servletpublic String getProfileId()
getProfileId in class AbstractShibbolethProfileHandler<SAMLMDRelyingPartyConfigurationManager,Session>public void processRequest(HTTPInTransport inTransport, HTTPOutTransport outTransport) throws ProfileException
ProfileExceptionprotected void performAuthentication(HTTPInTransport inTransport, HTTPOutTransport outTransport) throws ProfileException
ShibbolethSSOLoginContext an sends the request off to the AuthenticationManager to begin the
process of authenticating the user.inTransport - inbound message transportoutTransport - outbound message transportProfileException - thrown if there is a problem creating the login context and transferring control to the
authentication managerprotected void decodeRequest(ShibbolethSSOProfileHandler.ShibbolethSSORequestContext requestContext, HTTPInTransport inTransport, HTTPOutTransport outTransport) throws ProfileException
inTransport - inbound message transportoutTransport - outbound message transportrequestContext - the request context to which decoded information should be addedProfileException - throw if there is a problem decoding the requestprotected void completeAuthenticationRequest(ShibbolethSSOLoginContext loginContext, HTTPInTransport inTransport, HTTPOutTransport outTransport) throws ProfileException
loginContext - login context for this requestinTransport - inbound message transportoutTransport - outbound message transportProfileException - thrown if the response can not be created and sent back to the relying partyprotected ShibbolethSSOProfileHandler.ShibbolethSSORequestContext buildRequestContext(ShibbolethSSOLoginContext loginContext, HTTPInTransport in, HTTPOutTransport out) throws ProfileException
loginContext - current login contextin - inbound transportout - outbount transportProfileException - thrown if there is a problem creating the contextprotected void populateRelyingPartyInformation(BaseSAMLProfileRequestContext requestContext) throws ProfileException
populateRelyingPartyInformation in class AbstractSAMLProfileHandlerrequestContext - current request contextProfileException - thrown if there is a problem looking up the relying party's metadataprotected 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 metadatapopulateAssertingPartyInformation in class AbstractSAMLProfileHandlerrequestContext - current request contextProfileException - thrown if there is a problem looking up the asserting party's metadataprotected 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 contextProfileException - thrown if there is a problem populating the request context with informationprotected Endpoint selectEndpoint(BaseSAMLProfileRequestContext requestContext)
selectEndpoint in class AbstractSAMLProfileHandlerrequestContext - current request contextprotected AuthenticationStatement buildAuthenticationStatement(ShibbolethSSOProfileHandler.ShibbolethSSORequestContext requestContext) throws ProfileException
requestContext - current request contextProfileException - thrown if the authentication statement can not be createdprotected SubjectLocality buildSubjectLocality(ShibbolethSSOProfileHandler.ShibbolethSSORequestContext requestContext)
requestContext - current request contextCopyright © 1999-2014. All Rights Reserved.