Class DiscoveryProfileRequestFunction

  • All Implemented Interfaces:
    Function<net.shibboleth.utilities.java.support.collection.Pair<RequestContext,​org.opensaml.profile.context.ProfileRequestContext>,​String>, net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.InitializableComponent

    @ThreadSafe
    public class DiscoveryProfileRequestFunction
    extends net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
    implements Function<net.shibboleth.utilities.java.support.collection.Pair<RequestContext,​org.opensaml.profile.context.ProfileRequestContext>,​String>
    A Function that produces a discovery request URL using the protocol defined in https://wiki.oasis-open.org/security/IdpDiscoSvcProtonProfile

    Since there is no upstream "relying party" yet, the identity of the system is derived from the currently in-effect entityID that will be used to respond to the downstream relying party.

    • Field Detail

      • log

        @Nonnull
        private final org.slf4j.Logger log
        Class logger.
      • escaper

        @Nonnull
        private Escaper escaper
        URL query parameter escaper.
      • relyingPartyContextLookupStrategy

        @Nonnull
        private Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.profile.context.RelyingPartyContext> relyingPartyContextLookupStrategy
        Lookup strategy for locating RelyingPartyContext.
      • discoveryURLLookupStrategy

        @NonnullAfterInit
        private Function<org.opensaml.profile.context.ProfileRequestContext,​String> discoveryURLLookupStrategy
        Lookup strategy for determining the "base" discovery URL.
    • Constructor Detail

      • DiscoveryProfileRequestFunction

        public DiscoveryProfileRequestFunction()
        Constructor.
    • Method Detail

      • setRelyingPartyContextLookupStrategy

        public void setRelyingPartyContextLookupStrategy​(@Nonnull
                                                         Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.profile.context.RelyingPartyContext> strategy)
        Set the lookup strategy for the RelyingPartyContext.
        Parameters:
        strategy - lookup strategy
      • setDiscoveryURLLookupStrategy

        public void setDiscoveryURLLookupStrategy​(@Nonnull
                                                  Function<org.opensaml.profile.context.ProfileRequestContext,​String> strategy)
        Set the lookup strategy for the "base" discovery service URL to use.
        Parameters:
        strategy - lookup strategy
      • doInitialize

        protected void doInitialize()
                             throws net.shibboleth.utilities.java.support.component.ComponentInitializationException
        Overrides:
        doInitialize in class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
        Throws:
        net.shibboleth.utilities.java.support.component.ComponentInitializationException
      • apply

        @Nullable
        public String apply​(@Nonnull
                            net.shibboleth.utilities.java.support.collection.Pair<RequestContext,​org.opensaml.profile.context.ProfileRequestContext> input)
        Specified by:
        apply in interface Function<net.shibboleth.utilities.java.support.collection.Pair<RequestContext,​org.opensaml.profile.context.ProfileRequestContext>,​String>