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.
Configuration
Section titled “Configuration”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
defaulttotrue. - 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.
Examples
Section titled “Examples”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
- Minimum length
- Maximum length
- Uppercase
- Lowercase
- Special character
- Common password
- Number
- Repeat password
- Complexity
- Custom rule