Interface IdPModule

All Superinterfaces:
Component, IdentifiedComponent
All Known Implementing Classes:
AbstractIdPModule, CAS, Consent, ContextCheck, CoreIdPModule, Demo, Duo, ExpiringPassword, External, Function, Hello, Impersonate, IPAddress, MFA, Password, PluginIdPModule, PropertyDrivenIdPModule, RemoteUser, RemoteUserInternal, SPNEGO, UnlockKeys, Warning, X509

public interface IdPModule
extends IdentifiedComponent
This interface is exported (via the service API) by every IdP module.
Since:
4.1.0
  • Method Details

    • getName

      @Nonnull @NotEmpty String getName​(@Nullable ModuleContext moduleContext)
      Gets module name.
      Parameters:
      moduleContext - optional context for supplying i18n input
      Returns:
      a human-readable name for the module
    • getDescription

      @Nullable @NotEmpty String getDescription​(@Nullable ModuleContext moduleContext)
      Gets module description.
      Parameters:
      moduleContext - optional context for supplying i18n input
      Returns:
      a human-readable description for the module
    • getURL

      @Nullable @NotEmpty String getURL()
      Gets module URL.
      Returns:
      a URL for obtaining additional information about the module
    • getOwnerId

      @Nullable @NotEmpty String getOwnerId()
      Gets the plugin name of the module's owner, if the module is provided by a plugin.
      Returns:
      plugin ID, if any
    • isHttpClientRequired

      boolean isHttpClientRequired()
      Gets whether module enablement requires access to an HttpClient.
      Returns:
      true iff enabling the module requires HTTP client
    • getResources

      Gets resources managed by this module.
      Returns:
      resources managed by this module
    • isEnabled

      boolean isEnabled​(@Nonnull ModuleContext moduleContext)
      Gets whether the module is enabled.

      The status of "enabled" is meant to reflect whether a deployer has previously or implicitly enabled the module, not necessarily whether the module is fully or properly configured or in use.

      Parameters:
      moduleContext - module context
      Returns:
      true iff the module is enabled
    • enable

      Enable the module.

      This operation MUST be idempotent.

      Parameters:
      moduleContext - module context
      Returns:
      summary of resource results
      Throws:
      ModuleException - if not successful
    • disable

      @Nonnull @NonnullElements Map<IdPModule.ModuleResource,​IdPModule.ResourceResult> disable​(@Nonnull ModuleContext moduleContext, boolean clean) throws ModuleException
      Disable the module.

      This operation MUST be idempotent with respect to the value of the input parameter.

      Parameters:
      moduleContext - module context
      clean - if true, the module should attempt to fully remove traces of previous use in a potentially destructive fashion
      Returns:
      summary of resource results
      Throws:
      ModuleException - if not successful