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. Only the rule parameters you add will be available and verified against the new password when a user performs a password reset.
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.
Backend validation mainly applies to rules that can be checked server-side. Rules such as repeat and potentially breach still depend on frontend behavior or external validation.
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