Package org.pac4j.saml.transport
Class Pac4jHTTPArtifactDecoder
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.messaging.decoder.AbstractMessageDecoder
-
- org.pac4j.saml.transport.Pac4jHTTPArtifactDecoder
-
- All Implemented Interfaces:
net.shibboleth.utilities.java.support.component.Component
,net.shibboleth.utilities.java.support.component.DestructableComponent
,net.shibboleth.utilities.java.support.component.InitializableComponent
,net.shibboleth.utilities.java.support.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 originalHTTPArtifactDecoder
but using a web context instead of the JEE HTTP servlet request.- Since:
- 3.8.0
- Author:
- Jerome LELEU
-
-
Constructor Summary
Constructors Constructor Description Pac4jHTTPArtifactDecoder()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
decode()
protected void
doDecode()
protected void
doDestroy()
protected void
doInitialize()
org.opensaml.saml.saml2.binding.artifact.SAML2ArtifactBuilderFactory
getArtifactBuilderFactory()
Get the SAML 2 artifact builder factory.org.opensaml.saml.common.binding.EndpointResolver<org.opensaml.saml.saml2.metadata.ArtifactResolutionService>
getArtifactEndpointResolver()
Get the artifact endpoint resolver.org.opensaml.saml.common.binding.BindingDescriptor
getBindingDescriptor()
Get an optionalBindingDescriptor
to inject intoSAMLBindingContext
created.java.lang.String
getBindingURI()
net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy
getIdentifierGenerationStrategy()
Get the identifier generation strategy.net.shibboleth.utilities.java.support.xml.ParserPool
getParserPool()
Gets the parser pool used to deserialize incoming messages.javax.xml.namespace.QName
getPeerEntityRole()
Get the peer entity roleQName
.org.opensaml.saml.metadata.resolver.RoleDescriptorResolver
getRoleDescriptorResolver()
Get the role descriptor resolver.net.shibboleth.utilities.java.support.resolver.Resolver<java.lang.String,net.shibboleth.utilities.java.support.resolver.CriteriaSet>
getSelfEntityIDResolver()
Get the resolver for the self entityID.org.opensaml.soap.client.SOAPClient
getSOAPClient()
Get the SOAP client instance.java.lang.String
getSOAPClientSecurityConfigurationProfileId()
Get the SOAP client security configuration profile ID to use.java.lang.String
getSOAPPipelineName()
Get the name of the specific SOAP client message pipeline to use, for example withPipelineFactoryHttpSOAPClient
.protected void
populateBindingContext(org.opensaml.messaging.context.MessageContext messageContext)
Populate the context which carries information specific to this binding.void
setArtifactBuilderFactory(org.opensaml.saml.saml2.binding.artifact.SAML2ArtifactBuilderFactory factory)
Set the SAML 2 artifact builder factory.void
setArtifactEndpointResolver(org.opensaml.saml.common.binding.EndpointResolver<org.opensaml.saml.saml2.metadata.ArtifactResolutionService> resolver)
Set the artifact endpoint resolver.void
setBindingDescriptor(org.opensaml.saml.common.binding.BindingDescriptor descriptor)
Set an optionalBindingDescriptor
to inject intoSAMLBindingContext
created.void
setIdentifierGenerationStrategy(net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy strategy)
Set the identifier generation strategy.void
setParserPool(net.shibboleth.utilities.java.support.xml.ParserPool pool)
Sets the parser pool used to deserialize incoming messages.void
setPeerEntityRole(javax.xml.namespace.QName role)
Set the peer entity roleQName
.void
setRoleDescriptorResolver(org.opensaml.saml.metadata.resolver.RoleDescriptorResolver resolver)
Set the role descriptor resolver.void
setSelfEntityIDResolver(net.shibboleth.utilities.java.support.resolver.Resolver<java.lang.String,net.shibboleth.utilities.java.support.resolver.CriteriaSet> resolver)
Set the resolver for the self entityID.void
setSOAPClient(org.opensaml.soap.client.SOAPClient client)
Set the SOAP client instance.void
setSOAPClientSecurityConfigurationProfileId(java.lang.String profileId)
Set the SOAP client security configuration profile ID to use.void
setSOAPPipelineName(java.lang.String name)
Set the name of the specific SOAP client message pipeline to use, for example withPipelineFactoryHttpSOAPClient
.void
setWebContext(org.pac4j.core.context.WebContext webContext)
-
Methods inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder
getMessageContext, setMessageContext
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.DestructableComponent
destroy, isDestroyed
-
-
-
-
Method Detail
-
decode
public void decode() throws org.opensaml.messaging.decoder.MessageDecodingException
- Specified by:
decode
in interfaceorg.opensaml.messaging.decoder.MessageDecoder
- Overrides:
decode
in classorg.opensaml.messaging.decoder.AbstractMessageDecoder
- Throws:
org.opensaml.messaging.decoder.MessageDecodingException
-
doDestroy
protected void doDestroy()
- Overrides:
doDestroy
in classorg.opensaml.messaging.decoder.AbstractMessageDecoder
-
doDecode
protected void doDecode() throws org.opensaml.messaging.decoder.MessageDecodingException
- Specified by:
doDecode
in classorg.opensaml.messaging.decoder.AbstractMessageDecoder
- Throws:
org.opensaml.messaging.decoder.MessageDecodingException
-
getParserPool
@Nonnull public net.shibboleth.utilities.java.support.xml.ParserPool getParserPool()
Gets the parser pool used to deserialize incoming messages.- Returns:
- parser pool used to deserialize incoming messages
-
setParserPool
public void setParserPool(@Nonnull net.shibboleth.utilities.java.support.xml.ParserPool pool)
Sets the parser pool used to deserialize incoming messages.- Parameters:
pool
- parser pool used to deserialize incoming messages
-
doInitialize
protected void doInitialize() throws net.shibboleth.utilities.java.support.component.ComponentInitializationException
- Overrides:
doInitialize
in classnet.shibboleth.utilities.java.support.component.AbstractInitializableComponent
- Throws:
net.shibboleth.utilities.java.support.component.ComponentInitializationException
-
getIdentifierGenerationStrategy
@NonnullAfterInit public net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy getIdentifierGenerationStrategy()
Get the identifier generation strategy.- Returns:
- Returns the identifier generation strategy
-
setIdentifierGenerationStrategy
public void setIdentifierGenerationStrategy(@Nullable net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy strategy)
Set the identifier generation strategy.- Parameters:
strategy
- the identifier generation strategy
-
getSelfEntityIDResolver
@NonnullAfterInit public net.shibboleth.utilities.java.support.resolver.Resolver<java.lang.String,net.shibboleth.utilities.java.support.resolver.CriteriaSet> getSelfEntityIDResolver()
Get the resolver for the self entityID.- Returns:
- the resolver
-
setSelfEntityIDResolver
public void setSelfEntityIDResolver(@Nonnull net.shibboleth.utilities.java.support.resolver.Resolver<java.lang.String,net.shibboleth.utilities.java.support.resolver.CriteriaSet> resolver)
Set the resolver for the self entityID.- Parameters:
resolver
- the resolver instance
-
getPeerEntityRole
@NonnullAfterInit public javax.xml.namespace.QName getPeerEntityRole()
Get the peer entity roleQName
.- Returns:
- the peer entity role
-
setPeerEntityRole
public void setPeerEntityRole(@Nonnull javax.xml.namespace.QName role)
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(@Nullable 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(@Nullable 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(@Nullable 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(@Nonnull org.opensaml.soap.client.SOAPClient client)
Set the SOAP client instance.- Parameters:
client
- the SOAP client
-
getSOAPPipelineName
@Nullable public java.lang.String getSOAPPipelineName()
Get the name of the specific SOAP client message pipeline to use, for example withPipelineFactoryHttpSOAPClient
.- Returns:
- the pipeline name, or null
-
setSOAPPipelineName
public void setSOAPPipelineName(@Nullable java.lang.String name)
Set the name of the specific SOAP client message pipeline to use, for example withPipelineFactoryHttpSOAPClient
.- Parameters:
name
- the pipeline name, or null
-
getSOAPClientSecurityConfigurationProfileId
@Nullable public java.lang.String getSOAPClientSecurityConfigurationProfileId()
Get the SOAP client security configuration profile ID to use.- Returns:
- the client security configuration profile ID, or null
-
setSOAPClientSecurityConfigurationProfileId
@Nonnull public void setSOAPClientSecurityConfigurationProfileId(@Nullable java.lang.String profileId)
Set the SOAP client security configuration profile ID to use.- Parameters:
profileId
- the profile ID, or null
-
getBindingURI
@Nonnull @NotEmpty public java.lang.String getBindingURI()
- Specified by:
getBindingURI
in interfaceorg.opensaml.saml.common.binding.decoding.SAMLMessageDecoder
-
getBindingDescriptor
@Nullable public org.opensaml.saml.common.binding.BindingDescriptor getBindingDescriptor()
Get an optionalBindingDescriptor
to inject intoSAMLBindingContext
created.- Returns:
- binding descriptor
-
setBindingDescriptor
public void setBindingDescriptor(@Nullable org.opensaml.saml.common.binding.BindingDescriptor descriptor)
Set an optionalBindingDescriptor
to inject intoSAMLBindingContext
created.- 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(@Nullable org.pac4j.core.context.WebContext webContext)
-
-