Overview

What is an extension for?

With Login Page Extensions custom code can be added to Login Pages.
There are different extension points with different purposes.

Extension points

An extension can be one of those 4 types.

PurposeParent class nameDescription
Custom ElementElementExtensionAdd a custom element with custom properties to be used on any login page. This adds HTML and/or Javascript to the Login Page.
Login MethodLoginMethodExtensionAdd a custom login method. Authenticate against any other backend or cloud service.
Request HandlerRequestHandlerExtensionA handler intercepts each request before the login page logic and page rendering starts.
Base extensionExtensionChoose this to start from scratch and implement one of the event listeners.

Handler for elements

This interface is only available for classes based on ExtensionElement.

Extension pointInterface nameDescription
Request handler per ElementElementRequestHandlerAdd logic to process a form submission or action links rendered in a custom element

Event listener

This listener types can be used with any type

Listener purposeInterface nameDescription
Do something before a login form gets processedFormPostEntryListenerGood extension point for reacting on (successful) logins.
Do something after a login form was processedFormPostLeaveListenerFor example: Send the given email address of a guest to a CRM. Or trigger any web-hook of a cloud service after a login.
Intercept page renderingPrepareForRenderListenerThis intercepts the rendering of each slot. With this rendered HTML can be manipulated - for example: adding an input field to any login method.

Make an extension configurable

PurposeInterface nameDescription
Show configuration in editorConfigurableLpExtensionReveal settings in the Login Page Editor to set different values per IACBOX or the values are secrets that should not be hard coded in the code. Different UI elements can be displayed like input fields, selects and checkboxes.

Flow of login page logic

image