Package org.pac4j.saml.transport
Class Pac4jHTTPArtifactDecoder
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.messaging.decoder.AbstractMessageDecoder
org.pac4j.saml.transport.Pac4jHTTPArtifactDecoder
- All Implemented Interfaces:
net.shibboleth.shared.component.Component,net.shibboleth.shared.component.DestructableComponent,net.shibboleth.shared.component.InitializableComponent,net.shibboleth.shared.component.UnmodifiableComponent,org.opensaml.messaging.decoder.MessageDecoder,org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder
public class Pac4jHTTPArtifactDecoder
extends org.opensaml.messaging.decoder.AbstractMessageDecoder
implements org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder
Decoder for the artifact binding: it's like the original
HTTPArtifactDecoder
but using a web context instead of the JEE HTTP servlet request.- Since:
- 3.8.0
- Author:
- Jerome LELEU
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddecode()protected voiddoDecode()protected voidprotected voidorg.opensaml.saml.saml2.binding.artifact.SAML2ArtifactBuilderFactoryGet the SAML 2 artifact builder factory.org.opensaml.saml.common.binding.EndpointResolver<org.opensaml.saml.saml2.metadata.ArtifactResolutionService>Get the artifact endpoint resolver.org.opensaml.saml.common.binding.BindingDescriptorGet an optionalBindingDescriptorto inject intoSAMLBindingContextcreated.net.shibboleth.shared.security.IdentifierGenerationStrategyGet the identifier generation strategy.net.shibboleth.shared.xml.ParserPoolGets the parser pool used to deserialize incoming messages.Get the peer entity roleQName.org.opensaml.saml.metadata.resolver.RoleDescriptorResolverGet the role descriptor resolver.net.shibboleth.shared.resolver.Resolver<String,net.shibboleth.shared.resolver.CriteriaSet> Get the resolver for the self entityID.org.opensaml.soap.client.SOAPClientGet the SOAP client instance.Get the SOAP client security configuration profile ID to use.Get the name of the specific SOAP client message pipeline to use, for example withPipelineFactoryHttpSOAPClient.protected voidpopulateBindingContext(org.opensaml.messaging.context.MessageContext messageContext) Populate the context which carries information specific to this binding.voidsetArtifactBuilderFactory(org.opensaml.saml.saml2.binding.artifact.SAML2ArtifactBuilderFactory factory) Set the SAML 2 artifact builder factory.voidsetArtifactEndpointResolver(org.opensaml.saml.common.binding.EndpointResolver<org.opensaml.saml.saml2.metadata.ArtifactResolutionService> resolver) Set the artifact endpoint resolver.voidsetBindingDescriptor(org.opensaml.saml.common.binding.BindingDescriptor descriptor) Set an optionalBindingDescriptorto inject intoSAMLBindingContextcreated.voidsetIdentifierGenerationStrategy(net.shibboleth.shared.security.IdentifierGenerationStrategy strategy) Set the identifier generation strategy.voidsetParserPool(net.shibboleth.shared.xml.ParserPool pool) Sets the parser pool used to deserialize incoming messages.voidsetPeerEntityRole(QName role) Set the peer entity roleQName.voidsetRoleDescriptorResolver(org.opensaml.saml.metadata.resolver.RoleDescriptorResolver resolver) Set the role descriptor resolver.voidsetSelfEntityIDResolver(net.shibboleth.shared.resolver.Resolver<String, net.shibboleth.shared.resolver.CriteriaSet> resolver) Set the resolver for the self entityID.voidsetSOAPClient(org.opensaml.soap.client.SOAPClient client) Set the SOAP client instance.voidSet the SOAP client security configuration profile ID to use.voidsetSOAPPipelineName(String name) Set the name of the specific SOAP client message pipeline to use, for example withPipelineFactoryHttpSOAPClient.voidsetWebContext(org.pac4j.core.context.WebContext webContext) Methods inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder
getMessageContext, setMessageContextMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.DestructableComponent
destroy, isDestroyedMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitializedMethods inherited from interface org.opensaml.messaging.decoder.MessageDecoder
getMessageContext
-
Constructor Details
-
Pac4jHTTPArtifactDecoder
public Pac4jHTTPArtifactDecoder()Constructor.
-
-
Method Details
-
decode
public void decode() throws org.opensaml.messaging.decoder.MessageDecodingException- Specified by:
decodein interfaceorg.opensaml.messaging.decoder.MessageDecoder- Overrides:
decodein classorg.opensaml.messaging.decoder.AbstractMessageDecoder- Throws:
org.opensaml.messaging.decoder.MessageDecodingException
-
doDestroy
protected void doDestroy()- Overrides:
doDestroyin classorg.opensaml.messaging.decoder.AbstractMessageDecoder
-
doDecode
protected void doDecode() throws org.opensaml.messaging.decoder.MessageDecodingException- Specified by:
doDecodein classorg.opensaml.messaging.decoder.AbstractMessageDecoder- Throws:
org.opensaml.messaging.decoder.MessageDecodingException
-
getParserPool
public net.shibboleth.shared.xml.ParserPool getParserPool()Gets the parser pool used to deserialize incoming messages.- Returns:
- parser pool used to deserialize incoming messages
-
doInitialize
protected void doInitialize() throws net.shibboleth.shared.component.ComponentInitializationException- Overrides:
doInitializein classnet.shibboleth.shared.component.AbstractInitializableComponent- Throws:
net.shibboleth.shared.component.ComponentInitializationException
-
getIdentifierGenerationStrategy
@NonnullAfterInit public net.shibboleth.shared.security.IdentifierGenerationStrategy getIdentifierGenerationStrategy()Get the identifier generation strategy.- Returns:
- Returns the identifier generation strategy
-
getSelfEntityIDResolver
@NonnullAfterInit public net.shibboleth.shared.resolver.Resolver<String,net.shibboleth.shared.resolver.CriteriaSet> getSelfEntityIDResolver()Get the resolver for the self entityID.- Returns:
- the resolver
-
getPeerEntityRole
Get the peer entity roleQName.- Returns:
- the peer entity role
-
setPeerEntityRole
Set the peer entity roleQName.- Parameters:
role- the peer entity role
-
getArtifactEndpointResolver
@NonnullAfterInit public org.opensaml.saml.common.binding.EndpointResolver<org.opensaml.saml.saml2.metadata.ArtifactResolutionService> getArtifactEndpointResolver()Get the artifact endpoint resolver.- Returns:
- the endpoint resolver
-
setArtifactEndpointResolver
public void setArtifactEndpointResolver(org.opensaml.saml.common.binding.EndpointResolver<org.opensaml.saml.saml2.metadata.ArtifactResolutionService> resolver) Set the artifact endpoint resolver.- Parameters:
resolver- the new resolver
-
getRoleDescriptorResolver
@NonnullAfterInit public org.opensaml.saml.metadata.resolver.RoleDescriptorResolver getRoleDescriptorResolver()Get the role descriptor resolver.Must be capable of resolving descriptors based on
ArtifactCriterion.- Returns:
- the role descriptor resolver
-
setRoleDescriptorResolver
public void setRoleDescriptorResolver(org.opensaml.saml.metadata.resolver.RoleDescriptorResolver resolver) Set the role descriptor resolver.Must be capable of resolving descriptors based on
ArtifactCriterion.- Parameters:
resolver- the role descriptor resolver
-
getArtifactBuilderFactory
@NonnullAfterInit public org.opensaml.saml.saml2.binding.artifact.SAML2ArtifactBuilderFactory getArtifactBuilderFactory()Get the SAML 2 artifact builder factory.- Returns:
- the artifact builder factory in use
-
setArtifactBuilderFactory
public void setArtifactBuilderFactory(org.opensaml.saml.saml2.binding.artifact.SAML2ArtifactBuilderFactory factory) Set the SAML 2 artifact builder factory.- Parameters:
factory- the artifact builder factory
-
getSOAPClient
@NonnullAfterInit public org.opensaml.soap.client.SOAPClient getSOAPClient()Get the SOAP client instance.- Returns:
- the SOAP client
-
setSOAPClient
public void setSOAPClient(org.opensaml.soap.client.SOAPClient client) Set the SOAP client instance.- Parameters:
client- the SOAP client
-
getSOAPPipelineName
Get the name of the specific SOAP client message pipeline to use, for example withPipelineFactoryHttpSOAPClient.- Returns:
- the pipeline name, or null
-
setSOAPPipelineName
Set the name of the specific SOAP client message pipeline to use, for example withPipelineFactoryHttpSOAPClient.- Parameters:
name- the pipeline name, or null
-
getSOAPClientSecurityConfigurationProfileId
Get the SOAP client security configuration profile ID to use.- Returns:
- the client security configuration profile ID, or null
-
setSOAPClientSecurityConfigurationProfileId
Set the SOAP client security configuration profile ID to use.- Parameters:
profileId- the profile ID, or null
-
getBindingURI
- Specified by:
getBindingURIin interfaceorg.opensaml.saml.common.binding.decoding.SAMLMessageDecoder
-
getBindingDescriptor
public org.opensaml.saml.common.binding.BindingDescriptor getBindingDescriptor()Get an optionalBindingDescriptorto inject intoSAMLBindingContextcreated.- Returns:
- binding descriptor
-
setBindingDescriptor
public void setBindingDescriptor(org.opensaml.saml.common.binding.BindingDescriptor descriptor) Set an optionalBindingDescriptorto inject intoSAMLBindingContextcreated.- Parameters:
descriptor- a binding descriptor
-
populateBindingContext
protected void populateBindingContext(org.opensaml.messaging.context.MessageContext messageContext) Populate the context which carries information specific to this binding.- Parameters:
messageContext- the current message context
-
setWebContext
public void setWebContext(org.pac4j.core.context.WebContext webContext)
-