Simple Password Reset

Content Type: Module
Categories: Utility,Authentication

Overview

This module provides a very basic password reset/forgot password functionality purely using Mendix functionality. 

The only dependencies are

  • The Email Connector module will send out the password reset email.
  • The community commons to retrieve the Application Root URL
  • Atlas Core for the default layout selection
  • Combo box, cause it is awesome

This module will provide a process to reset your password by providing an email address. If an Administration. An account object with that email address exists. It will send out an email from which a user may start the process of entering a new password.

Documentation

Demo urlhttps://simplepasswordreset-sandbox.mxapps.io/

Typical usage scenario

When you have an application with local users that uses the default Administration module you may use this module to extend your login page with the ability to reset a users password when they have forgotten it.

 

Features and limitations

Provides a basic password reset function that uses an email to send a password reset link in case a user actually has an account under the provided email.

 

Dependencies 

 

Installation 

  1. Import the module
  2. Import the dependencies
  3. Configure the Email Connector module as described in its documentation
  4. Include the SNP_Settings in a location where you want to manage the module settings
  5. Include the SNP_ResetPasswordButton on a page where you would like the user to start the password reset (generally the login page), if you use login.html adjust it to have a button to /p/forgotpassword 
  6. Add module role Administrator to the project role that handles the settings
  7. Add the module role Anonymous to your projects anonymous role, if you do not have an anonymous role yet see the documentation for how to create one.

Configuration 

Enable the scheduled event ScE_RequestReset_Cleanup this will cleanup expired password reset request objects. This scheduled event runs every minute.

Change the constant RequestValidForSeconds  if you want to have a different expiration time for your reset requests, by default this is set to 300 seconds which is 5 minutes.

Change the constant CleanupLimit to adjust the amount of RequestReset objects to be cleaned per scheduled event iteration.

Releases

Version: 1.1.0
Framework Version: 10.6.10
Release Notes: Fixed minor bug in reset step 2 and settings page layout issue
Version: 1.0.0
Framework Version: 10.6.10
Release Notes: Initial release