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.