Sample stage
ForgeRock provides a sample custom stage project with the minimum classes and project file required for any self-service stage. 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
, which generates a simple math problem that must be completed in order to progress to the next stage.
The project includes the following files, required for any custom self-service stage:
- A Maven project file (
pom.xml
) -
Pay particular attention to the
maven-bundle-plugin
in 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
-
(
src/main/java/org/forgerock/selfservice/custom/MathProblemStageConfig.java
)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
-
(
src/main/java/org/forgerock/selfservice/custom/MathProblemStage.java
)The implementation class is the main orchestration class for the stage.
Build the sample stage
To build the sample stage, you must have Apache Maven installed.
-
Change to the root directory of the project you cloned:
cd /path/to/forgerock-selfservice-custom-stage
-
This version of IDM works with version
26.2.x
of ForgeRock Commons. Locate the latest version26.2.x
tag:-
List the latest tags for this version:
git tag --list | grep 26.2.x 26.2.x-20210331172848-d863e5b ... 26.2.x-latest
-
Check out the latest version:
git checkout -b test tags/26.2.x-latest Switched to a new branch 'test'
-
-
Build the sample stage:
mvn clean install
The build process creates the
forgerock-selfservice-custom-stage/self-service/forgerock-selfservice-custom-stage/target/forgerock-selfservice-custom-stage-version.jar
file. -
Copy the compiled sample stage to the
openidm/bundle
directory:cp target/forgerock-selfservice-custom-stage-version.jar /path/to/openidm/bundle/
-
Restart IDM.