Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tutorial:adm:modules_pwdreset [2019/09/03 07:44]
kopro [Configuration] update configuration properties with password generate
tutorial:adm:modules_pwdreset [2019/11/07 14:30] (current)
doischert
Line 1: Line 1:
 ====== Modules - pwd-reset: How to reset forgotten password? ====== ====== Modules - pwd-reset: How to reset forgotten password? ======
  
-The module provides functionality of password reset or, in other words, recovery of forgotten password.+This module provides ​the functionality of password reset or, in other words, ​the recovery of forgotten password.
  
 ===== How does it work? ===== ===== How does it work? =====
Line 8: Line 8:
  
 ===== Process of restoring your forgotten password ===== ===== Process of restoring your 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. ​+Users can restore their forgotten password via the password ​reset module. User can start the process on CzechIdM´s login page by clicking on "​Forgotten password"​ link. In next step user it is required to enter an account identifier. ​
  
 {{ :​tutorial:​adm:​reset_form_eng.png | }} {{ :​tutorial:​adm:​reset_form_eng.png | }}
  
-For now, identity email or login are supported and admin can use configuration property to select which of these (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.+For now, the identity'​s ​email or login are supported and admin can use configuration property to select which of these (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 the password reset request along with the 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.
  
 {{ :​tutorial:​adm:​email_pwd_eng.png | }} {{ :​tutorial:​adm:​email_pwd_eng.png | }}
  
-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.+After clicking on the link, which contains verification token in GET parameters, user is asked to fill in new password. If the password change succeeds (password validation is OK and user can change their own password), then the user can log in to CzechIdM with new password.
  
 {{ :​tutorial:​adm:​set_pwd_eng.png | }} {{ :​tutorial:​adm:​set_pwd_eng.png | }}
-===== Password ​generate ​===== +===== Password ​generating ​===== 
-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 reset module has process for generating new password by default ​based on a password policy for IdM. The form for password ​generating ​is part of the password change component. ​To generate password to an end system ​it is necessary ​to enable the event type ''​PASSWORD_GENERATE''​ for processor in acc (processor.identity-password-provisioning-processor). ​
  
- +Password ​generating ​is available by permission ''​IDENTITY PASSWORDRESET''​ (and also APP_ADMIN).
-Password ​generate ​is available by permission ''​IDENTITY PASSWORDRESET''​ (and also APP_ADMIN).+
  
 <note important>​ <note important>​
-By default, the "​Password generate"​ form displays all end system accounts, but password **will not** be provisioned to the end system accounts. So remember to add the event type ''​PASSWORD\_GENERATE''​ to the configuration property ''​idm.sec.acc.processor.identity-password-provisioning-processor.eventTypes''​ (as written above) to avoid confusion.+By default, the "​Password generate"​ form displays all end system accounts, but the password **will not** be provisioned to the end system accounts. So remember to add the event type ''​PASSWORD\_GENERATE''​ to the configuration property ''​idm.sec.acc.processor.identity-password-provisioning-processor.eventTypes''​ (as written above) to avoid confusion.
 </​note>​ </​note>​
  
 ===== Reset password in user´s system accounts ===== ===== Reset password in user´s system accounts =====
-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+Password reset module changes ​user'​s ​passwords only to their CzechIdM account. To reset passwords ​to end system accounts you need to have the acc module enabled and do a little bit of configuration. ​You need to set IdentityPasswordProvisioningProcessor and PasswordValidateProcessor to respond to PASSWORD_RESET event type. You can do it by setting
  
 <​code>​ <​code>​
Line 37: Line 36:
 </​code>​ </​code>​
  
-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+After the password reset, notification is sent to user with system names and accounts, where password has been changed. This processor ​has to be enabled with setting
  
 <​code>​ <​code>​
Line 47: Line 46:
 ===== Installation ===== ===== Installation =====
 Download the module distribution package. The package contains a backend folder. Your IdM Tomcat installation we call IDM in the following example. Download the module distribution package. The package contains a backend folder. Your IdM Tomcat installation we call IDM in the following example.
-  - Copy content of the backend folder into your tomcat IdM installation - [IDM]/​WEB-INF/​lib+  - Copy the content of the backend folder into your tomcat IdM installation - [IDM]/​WEB-INF/​lib
   - Set correct access rights to the files if needed (''​chown tomcat:​tomcat [IDM]/​WEB-INF/​lib/​*''​)   - Set correct access rights to the files if needed (''​chown tomcat:​tomcat [IDM]/​WEB-INF/​lib/​*''​)
   - Restart the IdM application server (''​service tomcat restart''​)   - Restart the IdM application server (''​service tomcat restart''​)
-  - Log in to CzechIdM as an privileged user and go to Settings -> Modules and enable the pwd-reset module.+  - Log in to CzechIdM as privileged user and go to Settings -> Modules and enable the pwd-reset module.
   - Go to the configuration and configure required properties (see below).   - Go to the configuration and configure required properties (see below).
   - Add the event types ''​PASSWORD\_RESET''​ and ''​PASSWORD\_GENERATE''​ for processors as [[tutorial:​adm:​modules_pwdreset#​reset_password_in_user_s_system_accounts|described above]], if you want to reset and provision generated passwords for end system accounts (typically, you do).   - Add the event types ''​PASSWORD\_RESET''​ and ''​PASSWORD\_GENERATE''​ for processors as [[tutorial:​adm:​modules_pwdreset#​reset_password_in_user_s_system_accounts|described above]], if you want to reset and provision generated passwords for end system accounts (typically, you do).