Class SAMLAddAttributeConsumingServiceHandler
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.messaging.handler.AbstractMessageHandler
org.opensaml.saml.common.binding.impl.SAMLAddAttributeConsumingServiceHandler
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,MessageHandler
SAML
MessageHandler that attaches an AttributeConsumingServiceContext
to the SAMLMetadataContext based on the content of an AuthnRequest in the message context.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classDefault lookup function that find a SAML 2AuthnRequest. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Function<MessageContext,AuthnRequest> Lookup strategy for anAuthnRequestindex.private IntegerAttributeConsumingServiceindex - if specified.private final org.slf4j.LoggerLogger.private Function<MessageContext,SAMLMetadataContext> Lookup strategy forSAMLMetadataContext.private Collection<RequestedAttribute>RequestedAttributelist - if specified. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate AttributeConsumingServiceGenerate anAttributeConsumingServicefrom theRequestedAttributes.protected voiddoInvoke(MessageContext messageContext) protected booleandoPreInvoke(MessageContext messageContext) protected Collection<RequestedAttribute>getRequestedAttributes(MessageContext messageContext, AuthnRequest authn) Grab theRequestedAttribute(if any) from theAuthnRequest.voidsetIndexLookupStrategy(Function<MessageContext, AuthnRequest> strategy) Set the strategy to locate theAttributeConsumingServiceindex from theMessageContext.voidSet the strategy to locate theSAMLMetadataContextfrom theMessageContext.Methods inherited from class org.opensaml.messaging.handler.AbstractMessageHandler
doPostInvoke, doPostInvoke, getActivationCondition, getLogPrefix, invoke, isPreInvokeCalled, setActivationConditionMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, 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.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logLogger. -
metadataContextLookupStrategy
Lookup strategy forSAMLMetadataContext. -
authnRequestLookupStrategy
Lookup strategy for anAuthnRequestindex. -
index
AttributeConsumingServiceindex - if specified. -
requestedAttributes
RequestedAttributelist - if specified.
-
-
Constructor Details
-
SAMLAddAttributeConsumingServiceHandler
public SAMLAddAttributeConsumingServiceHandler()Constructor.
-
-
Method Details
-
setMetadataContextLookupStrategy
public void setMetadataContextLookupStrategy(@Nonnull Function<MessageContext, SAMLMetadataContext> strategy) Set the strategy to locate theSAMLMetadataContextfrom theMessageContext.- Parameters:
strategy- lookup strategy
-
setIndexLookupStrategy
Set the strategy to locate theAttributeConsumingServiceindex from theMessageContext.- Parameters:
strategy- lookup strategy
-
doPreInvoke
protected boolean doPreInvoke(@Nonnull MessageContext messageContext) throws MessageHandlerException - Overrides:
doPreInvokein classAbstractMessageHandler- Throws:
MessageHandlerException
-
doInvoke
- Specified by:
doInvokein classAbstractMessageHandler- Throws:
MessageHandlerException
-
attributeConsumingServiceFromRequestedAttributes
@Nonnull private AttributeConsumingService attributeConsumingServiceFromRequestedAttributes() throws MessageHandlerExceptionGenerate anAttributeConsumingServicefrom theRequestedAttributes.- Returns:
- a suitable AttributeConsumingService
- Throws:
MessageHandlerException- when the cloning failed
-
getRequestedAttributes
@Nullable protected Collection<RequestedAttribute> getRequestedAttributes(@Nonnull MessageContext messageContext, @Nonnull AuthnRequest authn) Grab theRequestedAttribute(if any) from theAuthnRequest.- Parameters:
messageContext- current message contextauthn- the request to interrogate- Returns:
- null or the list
-