Skip to content

Fortified IDDocs

Rules parameters

This section covers how to configure password policies.

Use this section to configure which password rules should be applied during a password reset.

Password policies are configured by adding rule parameters to the policy configuration used by the PasswordReset module. The browser evaluates only the configured rule parameters against the new password.

The PasswordReset module includes the policy file through rule_policies, for example "rule_policies" : "@include:rules/rules.json" in pwdreset.json.

You can use the same file structure for both a single policy and multiple policies:

  • For a single policy, configure one policy object and set default to true.
  • For multiple policies, configure several named policy objects. The active policy is selected from the session parameter password_policy.

If password_policy is missing, empty, or does not match any configured policy, the module uses the policy where default is set to true.

When multiple policies are configured, the frontend only displays the rules from the selected policy, and the backend uses that same selected policy when the password reset is submitted.

PasswordReset validates the rule configuration at startup. The reset handler forwards password_policy_id to the pipe without independently evaluating the submitted password against every rule. Enforce the corresponding policy in the directory or reset integration. repeat and breach are browser-side checks; see Security configuration.

Example of a single policy configuration:

[
{
"id": "default",
"default": true,
"rules": [
{
"type": "lengthMin",
"min": 8,
"description": "password_reset.rules.lengthMin"
},
{
"type": "uppercase",
"description": "password_reset.rules.uppercase"
},
{
"type": "lowercase",
"description": "password_reset.rules.lowercase"
},
{
"type": "special",
"description": "password_reset.rules.special"
},
{
"type": "number",
"description": "password_reset.rules.number"
}
]
}
]

Example of a multiple policy configuration:

[
{
"id": "default",
"default": true,
"rules": [
{
"type": "lengthMin",
"min": 8,
"description": "password_reset.rules.lengthMin"
},
{
"type": "uppercase",
"description": "password_reset.rules.uppercase"
},
{
"type": "lowercase",
"description": "password_reset.rules.lowercase"
},
{
"type": "special",
"description": "password_reset.rules.special"
},
{
"type": "number",
"description": "password_reset.rules.number"
}
]
},
{
"id": "student",
"rules": [
{
"type": "lengthMin",
"min": 6,
"description": "password_reset.rules.lengthMin"
},
{
"type": "uppercase",
"description": "password_reset.rules.uppercase"
},
{
"type": "lowercase",
"description": "password_reset.rules.lowercase"
},
{
"type": "number",
"description": "password_reset.rules.number"
}
]
},
{
"id": "teacher",
"rules": [
{
"type": "lengthMin",
"min": 10,
"description": "password_reset.rules.lengthMin"
},
{
"type": "uppercase",
"description": "password_reset.rules.uppercase"
},
{
"type": "lowercase",
"description": "password_reset.rules.lowercase"
},
{
"type": "special",
"description": "password_reset.rules.special"
},
{
"type": "number",
"description": "password_reset.rules.number"
}
]
}
]

In this section