Skip to content

Configuring Password Recovery with Email

WSO2 Identity Server enables resetting user passwords by emailing a password reset link to the user’s registered email Id.

Scenario

Pickup is a cab company that has many employees who use different credentials to sign in to different internal enterprise applications. Alex who is a new recruit at Pickup has forgotten the password.

Let's learn how Alex can recover the password via email!

Set up

Follow the steps below to configure WSO2 Identity Server to enable password reset via email notifications.

  1. Open the deployment.toml file in the <IS_HOME>/repository/conf directory.

    1. Check whether the following listener configs are in place.

      [event.default_listener.identity_mgt]
      priority= "50"
      enable = false
      [event.default_listener.governance_identity_mgt]
      priority= "95"
      enable = true
      [event.default_listener.governance_identity_store]
      priority= "97"
      enable = true
    2. To configure the email server to send emails requesting password reset, add the following configurations.

      • from_address: This is the email address from which the confirmation email will be sent.
      • username: This is the user name of the given email address.
      • password: This is the password of the given email address.
      [output_adapter.email]
      from_address= ""
      username= ""
      password= ""
      hostname= "smtp.gmail.com"
      port= 587
      enable_start_tls= true
      enable_authentication= true
      [output_adapter.email]
      from_address= "[email protected]"
      username= "wso2iamtest"
      password= "Wso2@iam70"
      hostname= "smtp.gmail.com"
      port= 587
      enable_start_tls= true
      enable_authentication= true

      If you are using a Google email account

      Google has restricted third-party applications and less secure applications from sending emails by default. As WSO2 Identity Server acts as a third-party application when sending emails for password entry, follow the steps below to enable your Google email account to provide access to third-party applications.

      1. Access https://myaccount.google.com/security.

      2. Under Signing in to Google section, turn off the 2-step Verification option.

      3. Enable Less secure app access in Google Account security section.

  2. Restart WSO2 Identity Server.

  3. Sign in to the WSO2 Identity Server Management Console at https://<SERVER_HOST>:9443/carbon as an administrator.

  4. On the Main menu of the Management Console, click Identity > Identity Providers > Resident.

    Resident menu-item

  5. Under the Account Management section, click Account Recovery.

    Account Recovery Option

  6. Select Notification Based Password Recovery check box.

    Notification-Based Password Recovery Option

  7. Click Update.

Try out

  1. To create the user account for Alex:

    1. On the Main menu of the Management Console, click Identity > Users and Roles > Add.

      Add Users and Roles menu-item

    2. Click Add New User.

      Add New User option

    3. Enter the required data as follows.

      Add New User screen

      • Domain: Primary
      • Username: Alex
    4. Click Finish.

  2. To assign login permissions to the user:

    1. Click the View Roles option of Alex.

      View Roles option

    2. Click Permissions.

      Role Permissions option

    3. Select Login and click Update.

      Login permission

  3. To add Alex's email Id:

    1. Click User Profile option of Alex.

      User Profile option

    2. Enter an email address to which Alex's password recovery emails will be sent.

      User Email option

    3. Click Update.

  4. To mimic a forgotten password:

    1. Access WSO2 Identity Server My Account Portal at https://localhost:9443/myaccount/.

    2. Click Password.

      Sign In form

    3. Enter the user name as Alex and select the Recover with Mail option.

      Consent form

    4. Click Submit.

Top