Modules - pwd-reset: How to reset forgotten password?

The module provides functionality of password reset or, in other words, recovery of forgotten password.

Users can restore their forgotten password via password rest module. User can start the process on CzechIdM´s login page by clicking on "Forgotten password" link. In next step user is required to enter account identifier.

For now, identity email or login are supported and admin can use configuration property to select which of theese (or both) can be used. User then confirms password reset request by clicking on submit button. CzechIdM then generates validation token and stores it in password reset request along with time of creation. Validation token is then being sent to user via notification. Administrator can edit the notification using standard CzechIdM notification functionality. Notification is sent to topic "passwordResetRequestCreated" with SUCCESS level.

After clicking on link, which contains verification token in GET parameters, user is asked to fill in new password. If password change succeeds (password validation is OK and user can change their own password), then user can log in to CzechIdM with new password.

Password reset module has process for generating new password by default password policy for IdM. Form for password generate is part of password change component. For generate password to end system is necessary enabled event type PASSWORD_GENERATE for processor in acc (processor.identity-password-provisioning-processor).

Password generate is available by permission IDENTITY PASSWORDRESET (and also APP_ADMIN).

Password reset module changes users passwords only in CzechIdM account. To reset passwords in end system accounts you need to have acc module enabled and do a little bit of configuration. Actually the only thing you need to configure is to set IdentityPasswordProvisioningProcessor and PasswordValidateProcessor to respond to PASSWORD_RESET event type. You can do it by setting

idm.sec.acc.processor.identity-password-provisioning-processor.eventTypes=PASSWORD,PASSWORD_RESET,PASSWORD_GENERATE
idm.sec.acc.processor.identity-password-validate-processor.eventTypes=PASSWORD,PASSWORD_RESET

After password reset, notification is sent to user with system names and accounts, where password has been changed. This processor have to be enabled with setting

idm.sec.core.processor.identity-password-change-notification.eventTypes=PASSWORD,PASSWORD_RESET

Now IdM will also reset password on all user accounts which support it.

Download the module distribution package. The package contains a backend folder. Your IdM Tomcat installation we call IDM in the following example.

  1. Copy content of the backend folder into your tomcat IdM installation - [IDM]/WEB-INF/lib
  2. Set correct access rights to the files if needed (chown tomcat:tomcat [IDM]/WEB-INF/lib/*)
  3. Restart the IdM application server (service tomcat restart)
  4. Log in to CzechIdM as an privileged user and go to Settings → Modules and enable the pwd-reset module.
  5. Go to the configuration and configure required properties (see below).

The module provides following configuration properties:

Property Description
idm.pub.pwdreset.allowed.attrs REQUIRED. List of identity attributes (separated by comma) which can be used by user to identify their account when reseting password (username, email and personal number are available for now)
idm.sec.pwdreset.token.ttl How many minutes is verification token valid (default is 60 minutes)
idm.pub.pwdreset.identity.passwordReset.public.idm.enabled Boolean value to enable/disable password reset for CzechIdM system. Default value is true (password reset is enabled).
idm.sec.pwdreset.debug Debug password reset, if value is true token will be visible in notification in IdM.

How to reset password - czech language