Interface IPluginAuthenticationLogic

All Superinterfaces:
IFCPlugin, INamedUiElement, INameProviding, ITransferable, Serializable

public interface IPluginAuthenticationLogic extends IFCPlugin
Common interface for plugins that provide a custom authentication logic. Custom authentication logic always consists of a login logic and a callback logic. The authentication logic also needs to provide an authentication target key.

The authentication target key identifies the authentication logic in authentication requests i.e. .../formcycle/auth/login?xfc-auth=...&xfc-auth-target=my-target... .

The login logic determines how to start an authentication request. For example the custom login logic might store certain parameters in the session for later use and then start the authentication request by redirecting to the IDP. If no login logic is given then the default login logic for generic authentication request will be performed. This will start the authentication process for any active authenticator (IAuthenticator), which usually means redirecting to the IDP.

The callback logic determines how to handle the response from an IDP in an authentication request. For example a custom authentication logic might perform the callback logic which returns a user profile (default callback logic) and then save that user profile in a session. If no callback logic is given then the default callback logic will be performed, which will take the IDP response and return the user profile if possible.

Since:
7.2.0
Author:
XIMA Media GmbH
  • Method Details

    • getAuthenticationTargetKey

      @NotBlank @NotBlank String getAuthenticationTargetKey()
      The authentication target key identifies this authentication logic in authentication requests i.e. .../formcycle/auth/login?xfc-auth=...&xfc-auth-target=my-target... .
      Returns:
      the authentication target key of this authentication logic.
    • getLoginLogic

      @Nullable IPluginLoginLogic getLoginLogic()
      The login logic determines how to start an authentication request. For example the custom login logic might store certain parameters in the session for later use and then start the authentication request by redirecting to the IDP. If no login logic is given then the default login logic for generic authentication request will be performed. This will start the authentication process for any active authenticator (IAuthenticator), which usually means redirecting to the IDP.
      Returns:
      the custom login logic of the plugin. May be null to execute the default login logic.
    • getCallbackLogic

      @Nullable IPluginCallbackLogic getCallbackLogic()
      The callback logic determines how to handle the response from an IDP in an authentication request. For example a custom authentication logic might perform the callback logic which returns a user profile (default callback logic) and then save that user profile in a session. If no callback logic is given then the default callback logic will be performed, which will take the IDP response and return the user profile if possible.
      Returns:
      the custom callback logic of the plugin. May be null to execute the default callback logic.