lizardmedia/module-password-migrator

Lizard Media PasswordMigrator module for migrating passwords from legacy systems to Magento

1.0.7 2018-08-09 12:57 UTC

This package is auto-updated.

Last update: 2024-12-13 06:45:57 UTC


README

Latest Stable Version Total Downloads License Scrutinizer Code Quality Build Status

Lizard Media PasswordMigrator Magento2 module

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.

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).

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

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

\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.

Adding legacy passwords

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.

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

The configuration is available in the backend of your site at Stores->Configuration->Password Migrator

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details