A Magento2 module which helps you migrate user passwords when migrating data from an existing e-commerce system.
You have to save old customer passwords (possibly with salt). When a customer fails to log in the module checks if the password provided is correct for the legacy system and saves the password after encypting it using Magento build-in service and logs the customer in.
- Allows customers to log into Magento using passwords from legacy e-commerce system
- Saves customers password as build-in Magento password
- Redirects customer to password creation if legacy password does not fit into store password strength/pattern policy with reset password token already generated
- Clears the legacy password table after a year/2 years/never since data migration
- Magento 2.2 or higher
- PHP 7.1
You can install the module by downloading a .zip file and unpacking it inside
app/code/LizardMedia/PasswordMigrator
directory inside your Magento
or via Composer (required).
To install the module via Composer simply run
composer require lizardmedia/module-password-migrator
Than enable the module by running these command in the root of your Magento installation
bin/magento module:enable LizardMedia_PasswordMigrator
bin/magento setup:upgrade
In order to use the module you are required to create a module dependant on this module and implement the interface
\LizardMedia\PasswordMigrator\Api\LegacyEncryptorInterface
containing the hashing method for your legacy system.
You have to create a preference using etc/di.xml
in your custom module for the interface.
To insert legacy passwords you should use
LizardMedia\PasswordMigrator\Api\Data\PasswordRepositoryInterface
with
LizardMedia\PasswordMigrator\Api\Data\PasswordInterface
objects.
The aboce are the only to actions required to use the module.
Each legacy password is removed after being used by the customer. You can configure the module to clean the legacy passwords table after:
- a year
- half a year (default)
- never
The configuration is available in the backend of your site at
Stores->Configuration->Password Migrator
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Maciej Sławik - Lizard Media
This project is licensed under the MIT License - see the LICENSE file for details