Interface ProtocolSupportService

All Superinterfaces:
Component, IdentifiedComponent, InitializableComponent
All Known Implementing Classes:
BasicProtocolSupportService

public interface ProtocolSupportService extends IdentifiedComponent, InitializableComponent
This is an interface to a plugin-provided infrastructure bean that will be auto-wired into the Hub's supporting code in order to automatically install support for various aspects of a protocol's features.

Plugins that implement particular SSO protocols for the Hub to operate on behalf of Agents will implement an instance of this interface to expose their specifics for use by the protocol-independent classes in this plugin.

  • Method Details

    • getSessionInitiators

      @Nonnull @Unmodifiable @NotLive List<String> getSessionInitiators()
      Gets a default-ordered list of session initiator flows supported by this protocol plugin.

      The default order should reflect what "most" deployers would expect to use when adding support for this plugin to their system.

      Returns:
      ordered list of unprefixed flow IDs
    • getTokenConsumers

      @Nonnull @Unmodifiable @NotLive List<String> getTokenConsumers()
      Gets a default-ordered list of token consumer flows supported by this protocol plugin.

      The default order should reflect what "most" deployers would expect to use when adding support for this plugin to their system.

      Returns:
      ordered list of unprefixed flow IDs
    • getLogoutInitiators

      @Nonnull @Unmodifiable @NotLive List<String> getLogoutInitiators()
      Gets a default-ordered list of logout initiator flows supported by this protocol plugin.

      The default order should reflect what "most" deployers would expect to use when adding support for this plugin to their system.

      Returns:
      ordered list of unprefixed flow IDs
    • getLogoutConsumers

      @Nonnull @Unmodifiable @NotLive List<String> getLogoutConsumers()
      Gets a default-ordered list of logout consumer flows supported by this protocol plugin.

      The default order should reflect what "most" deployers would expect to use when adding support for this plugin to their system.

      Returns:
      ordered list of unprefixed flow IDs
    • getDefaultProfileConfigurations

      @Nonnull @Unmodifiable @NotLive Collection<ProfileConfiguration> getDefaultProfileConfigurations(boolean metadataDriven)
      Gets the collection of default ProfileConfiguration objects supplied by this protocol plugin.

      This collectuon should include only profiles intended for "verified" use by default.

      Parameters:
      metadataDriven - true iff the metadata-driven variant of these objects should be returned
      Returns:
      the relevant available profile configurations
    • getUnverifiedProfileConfigurations

      @Nonnull @Unmodifiable @NotLive Collection<ProfileConfiguration> getUnverifiedProfileConfigurations(boolean metadataDriven)
      Gets the collection of default ProfileConfiguration objects supplied by this protocol plugin.

      This collectuon should include only profiles intended for "unverified" use by default.

      Parameters:
      metadataDriven - true iff the metadata-driven variant of these objects should be returned
      Returns:
      the relevant available profile configurations