Before You Start
ForgeRock provides a sample custom stage project with the minimum classes and project file required for any self-service stage. Before you start, clone the sample custom stage project from the ForgeRock Commons repository. Use the latest version
26.0.x tag. The sample project has a dependency on the
forgerock-selfservice-core artifact. Engage ForgeRock support for access to the required repositories.
The sample project implements a stage named
MathProblem. This stage generates a simple math problem that must be completed in order to progress to the next stage.
To build the sample stage, you must have Apache Maven installed.
The project includes the following files, required for any custom self-service stage:
- A Maven project file (
Pay particular attention to the
maven-bundle-pluginin this file:
<plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Fragment-Host>org.forgerock.openidm.selfservice</Fragment-Host> </instructions> </configuration> </plugin> </plugins>
This plugin indicates that Apache Felix should attach the custom stage artifact to IDM’s self-service bundle.
- A configuration class
The configuration class reads configuration data from a corresponding configuration (JSON) file. The class represents each configuration item for the stage as properties of the class.
- An implementation class
The implementation class is the main orchestration class for the stage.