Extension points¶
Onegini IdP Extension may define one or more of the following extension points. Each extension point is responsible for providing customized functionality of a single behaviour.
Available extension points¶
The following extension point is mandatory in Onegini IdP Extension and is provided by Onegini IdP Extension SDK:
- Config
The following list contains available extension points that may be implemented in Onegini IdP Extension:
- Account link
- Authenticate
- Deliver external code
- Email gateway
- Profile attributes update
- Username validate
- Resources
- Post Process actions
- Profile Attributes Transformation
- Person Pre Creation Process
Onegini IdP provides also extension points embedded in Onegini IdP Core. In this case of these extension points the implementation is already provided in Onegini IdP Core, the extension can be enabled or disabled for specific installation.
- Just-in-time migration
- Password rest migration
Note that certain extension points may require other extension points in order to provide valid behaviour.
Implementing extension points with Onegini IdP Extension SDK¶
The preferred way to implement extension is to use Onegini IdP Extension SDK. This components provides the base for a Spring Boot application that exposes REST API for defined extension points.
Config extension point¶
This extension point is mandatory and is implemented in Onegini IdP Extension SDK. There is no additional effort required to make this extension point work.
Resources¶
Onegini IdP Extension SDK automatically provides implementation of the extension point that is necessary to use resources for customized installation. The resources must be put in extension-resources
folder of the application resources. The extension-resources
folder must have the following structure:
extension-resources
templates
email-templates
messages
static
Templates folder contains overriding or additional web templates.
Email templates folder contains overriding email templates.
Messages folder contains properties files with customized messages for available languages. The file name pattern should be messages-personal-branding_xx-YY.properties
, where xx-YY
stands for the locale of the particular file. The examples of valid file names are: messages-personal-branding_nl.properties
, messages-personal-branding_fr-CA.properties
.
Static folder contains overriding or additional static resources that will be served by the application.
For templates and static resources the overriding files' paths must be in accordance with resources structure in Onegini IdP Core. It means the resource in Onegini IdP Extension overrides the resource with exact path file name placed in Onegini IdP Core.
Embedded extension points¶
The embedded extension points can be enabled by corresponding properties. There is no additional effort required to make this extension points work.
Customizable extension points¶
Other extension points, not described in subsections above, may be implemented by providing implementation of particular Java interface defined in Onegini IdP Extension SDK.