Interface Application

All Superinterfaces:
Component, IdentifiedComponent, InitializableComponent, Predicate<ProfileRequestContext>, RelyingPartyConfiguration, RelyingPartyConfigurationResolver, Resolver<RelyingPartyConfiguration,CriteriaSet>
All Known Implementing Classes:
BasicAgent, BasicApplication

@ThreadSafe public interface Application extends RelyingPartyConfiguration, RelyingPartyConfigurationResolver
A collection of resources protected by the SP and treated as a unit for the purposes of the configuration.

Most settings and services are associated with an instance of this interface either through instantiation or method inputs. Components and services that are not "SP-aware" are instead injected into and made accessible from this interface.

As a resolver, this interface MUST implement support for ProfileRequestContextCriterion. It MAY support other types.

By exposing RelyingPartyConfiguration it acts as its own "default" instance of that interface while also implementing resolution of overrides.

  • Method Details

    • getApplicationId

      @Nonnull @NotEmpty String getApplicationId()
      Dedicated method to access application ID for explicitness.
      Returns:
      application ID
    • getAuthenticatingAuthority

      @Nullable @NotEmpty String getAuthenticatingAuthority(@Nullable ProfileRequestContext profileRequestContext)
      Gets the identifier of the authenticating authority (IdP, OP, etc.) to use for this application if not overridden.
      Parameters:
      profileRequestContext - current profile request context
      Returns:
      authenticating authority
    • getSessionInitiators

      @Nonnull List<String> getSessionInitiators(@Nullable ProfileRequestContext profileRequestContext)
      Gets an ordered list of session initiator flows to attempt for this application.
      Parameters:
      profileRequestContext - profile request context
      Returns:
      ordered list of unprefixed flow IDs
    • getDiscoveryService

      @Nullable String getDiscoveryService(@Nullable ProfileRequestContext profileRequestContext)
      Gets the discovery service URL to use in the event a session initiator cannot be executed.

      In the absence of a value, the Hub will not attempt IdP discovery and session initiator requests that cannot be associated with a recognized authority to use will fail.

      Parameters:
      profileRequestContext - profile request context
      Returns:
      discovery service location, or null
    • getTokenConsumers

      @Nonnull List<String> getTokenConsumers(@Nullable ProfileRequestContext profileRequestContext)
      Gets an ordered list of token consumer flows to attempt for this application.
      Parameters:
      profileRequestContext - profile request context
      Returns:
      ordered list of unprefixed flow IDs
    • getLogoutInitiators

      @Nonnull List<String> getLogoutInitiators(@Nullable ProfileRequestContext profileRequestContext)
      Gets an ordered list of logout initiator flows to attempt for this application.
      Parameters:
      profileRequestContext - profile request context
      Returns:
      ordered list of unprefixed flow IDs
    • getLogoutConsumers

      @Nonnull List<String> getLogoutConsumers(@Nullable ProfileRequestContext profileRequestContext)
      Gets an ordered list of logout consumer flows to attempt for this application.
      Parameters:
      profileRequestContext - profile request context
      Returns:
      ordered list of unprefixed flow IDs
    • getStateManager

      @Nonnull StateManager getStateManager()
      Gets the StateManager to use for thie application.
      Returns:
      the manager to use
    • getAttributeTranscoderRegistry

      @Nonnull ReloadableService<AttributeTranscoderRegistry> getAttributeTranscoderRegistry()
      Returns:
      the attribute transcoder registry to use
    • getAttributeResolver

      @Nonnull ReloadableService<AttributeResolver> getAttributeResolver()
      Returns:
      the attribute resolver to use
    • getAttributeFilter

      @Nonnull ReloadableService<AttributeFilter> getAttributeFilter()
      Returns:
      the attribute filter to use
    • getProtocolSupportService

      @Nullable <T extends ProtocolSupportService> T getProtocolSupportService(@Nonnull @NotEmpty String protocol, @Nonnull Class<T> claz)
      Gets the ProtocolSupportService subtype for a particular protocol.
      Type Parameters:
      T - the type of service
      Parameters:
      protocol - protocol to fetch
      claz - type to fetch
      Returns:
      the corresponding service object or null