Interface AuthenticatorPluginDescriptor<C extends Configuration>

All Superinterfaces:
CanSupportHaapi, PluginDescriptor<C>

public interface AuthenticatorPluginDescriptor<C extends Configuration> extends PluginDescriptor<C>, CanSupportHaapi
Authenticator Plugin descriptor.

An Authenticator Plugin provides the necessary functionality to authenticate users and, optionally, register new users and serve related, anonymous pages.

To let the server find an implementation of this plugin descriptor, create a file within the plugin jar at META-INF/services/se.curity.identityserver.sdk.plugin.descriptor.AuthenticatorPluginDescriptor.

This file must be a text file containing the name(s) of the implementation(s) of this interface, one per line.

Since:
2.1.0
See Also:
  • Method Details

    • getAuthenticationRequestHandlerTypes

      Map<String,Class<? extends AuthenticatorRequestHandler<?>>> getAuthenticationRequestHandlerTypes()
      Returns a Map from the authenticator's root URI path to the type of the AuthenticatorRequestHandler authenticator.

      In the example below, considering a plugin with implementation type htmlPluginType, a handler of type HtmlFormAuthenticateRequestHandler will be invoked when the https://www.example.com/authenticate/htmlPluginType or https://www.example.com/authenticate/htmlPluginType/index URIs are hit, while HtmlFormForgotAccountIdRequestHandler is invoked when the https://www.example.com/authenticate/htmlPluginType/forgot-account-id gets called.

       ImmutableMap.of(
         "index", HtmlFormAuthenticateRequestHandler.class,
         "forgot-account-id", HtmlFormForgotAccountIdRequestHandler.class
       );
       
      Returns:
      A map from URI path to handler type
    • getAnonymousRequestHandlerTypes

      default Map<String,Class<? extends AnonymousRequestHandler<?>>> getAnonymousRequestHandlerTypes()
      Returns a Map from the anonymous handler's root URI path to the type of the AnonymousRequestHandler handler.

      In the example below, considering a plugin with implementation type htmlPluginType, a handler of type HtmlAnonymousRequestHandler will be invoked when the https://www.example.com/authenticationProfilePath/anonymous/htmlPluginType or https://www.example.com/authenticationProfilePath/anonymous/htmlPluginType/index URIs are hit, while HtmlInfoRequestHandler is invoked when the https://www.example.com/authenticationProfilePath/anonymous/htmlPluginType/info gets called.

       ImmutableMap.of(
         "index", HtmlAnonymousRequestHandler.class,
         "info", HtmlInfoRequestHandler.class
       );
       
      Returns:
      A map from URI path to handler type
    • getRegistrationRequestHandlerTypes

      default Map<String,Class<? extends RegistrationRequestHandler<?>>> getRegistrationRequestHandlerTypes()
      Returns a Map from the registration handler's root URI path to the type of the RegistrationRequestHandler handler.

      In the example below, considering a plugin with implementation type htmlPluginType, a handler of type HtmlRegistrationRequestHandler will be invoked when the https://www.example.com/authenticationProfilePath/register/htmlPluginType or https://www.example.com/authenticationProfilePath/register/htmlPluginType/index URIs are hit.

       ImmutableMap.of(
         "index", HtmlRegistrationRequestHandler.class
       );
       
      Returns:
      A map from URI path to handler type
    • allowedHandlersForCrossSiteNonSafeRequests

      default RequestHandlerSet allowedHandlersForCrossSiteNonSafeRequests()
      Defines the cross-site policy.
      Returns:
      the handlers allowed to be accessed on non-safe requests from a cross-origin.
      Since:
      4.0.0