, (*1)
A Magento2 module which helps you migrate user passwords when migrating data from
an existing e-commerce system., (*2)
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., (*3)
Features
- 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
Prerequisites
- Magento 2.2 or higher
- PHP 7.1
Installing
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)., (*4)
To install the module via Composer simply run, (*5)
composer require lizardmedia/module-password-migrator
Than enable the module by running these command in the root of your Magento installation, (*6)
bin/magento module:enable LizardMedia_PasswordMigrator
bin/magento setup:upgrade
Usage
Implementation of legacy hashing method
In order to use the module you are required to create a module dependant on this module and
implement the interface, (*7)
\LizardMedia\PasswordMigrator\Api\LegacyEncryptorInterface
containing the hashing method for your legacy system., (*8)
You have to create a preference using etc/di.xml
in your custom module for the interface., (*9)
Adding legacy passwords
To insert legacy passwords you should use, (*10)
LizardMedia\PasswordMigrator\Api\Data\PasswordRepositoryInterface
with, (*11)
LizardMedia\PasswordMigrator\Api\Data\PasswordInterface
objects., (*12)
The aboce are the only to actions required to use the module., (*13)
Automatic cleanup configuration
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, (*14)
The configuration is available in the backend of your site at
Stores->Configuration->Password Migrator
, (*15)
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository., (*16)
Authors
License
This project is licensed under the MIT License - see the LICENSE file for details, (*17)