---
title: Configuration for the sample stage
description: To create a configuration for this stage, examine the configuration class (MathProblemStageConfig.java). Three configuration properties must be specified in the corresponding configuration file:
component: pingidm
version: 7.5
page_id: pingidm:self-service-reference:custom-stage-configuring
canonical_url: https://docs.pingidentity.com/pingidm/7.5/self-service-reference/custom-stage-configuring.html
keywords: ["Configuration", "Authentication", "Self-Service", "User Self-Service"]
---

# Configuration for the sample stage

To create a configuration for this stage, examine the configuration class (`MathProblemStageConfig.java`). Three configuration properties must be specified in the corresponding configuration file:

* `class`

  For the default IDM self-service stages, you specify the stage `name` in the configuration, in the format `"name" : "stage-name"`. For example:

  ```
  "name" : "captcha"
  ```

  For custom stages, you must specify the stage configuration class, in the format `"class" : "stage_config_classname"`. For example:

  ```
  "class" : "org.forgerock.selfservice.custom.MathProblemStageConfig"
  ```

* `leftValue`

* `rightValue`

The configuration for this stage will therefore look something like the following:

```json
{
    "class" : "org.forgerock.selfservice.custom.MathProblemStageConfig",
    "leftValue" : int,
    "rightValue" : int
},
```

|   |                                                                                                                       |
| - | --------------------------------------------------------------------------------------------------------------------- |
|   | When you write a custom stage, the `equals` and `hashCode` methods must be overridden to include local class members. |
