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
-
-
Field Summary
-
Fields inherited from interface de.xima.fc.plugin.interfaces.IFCPlugin
CONFIG_FILENAME
-
Fields inherited from interface de.xima.fc.interfaces.INamedUiElement
ATTR_DISPLAY_NAME
-
Fields inherited from interface de.xima.fc.entities.interfaces.INameProviding
ATTR_NAME, COL_NAME
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotBlank String
getAuthenticationTargetKey()
The authentication target key identifies this authentication logic in authentication requests i.e.IPluginCallbackLogic
getCallbackLogic()
The callback logic determines how to handle the response from an IDP in an authentication request.IPluginLoginLogic
getLoginLogic()
The login logic determines how to start an authentication request.-
Methods inherited from interface de.xima.fc.plugin.interfaces.IFCPlugin
getDescription, getDescription, getDisplayName, getName, initialize, initPlugin, install, shutdown, shutdown, uninstall
-
-
-
-
Method Detail
-
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.
-
-