Tokenize User Authentication v1.2.0¶
Published: 2020-02-06
Author: Nickolas Burr
Note
If you would like to receive updates (like this one) by email, please consider subscribing to our quarterly newsletter. It is low volume, and includes details about upcoming releases, product updates, EOL announcements, and other related topics. You can subscribe here.
Links¶
Summary¶
Tokenize User Authentication v1.2.0 is set to release early next week, and it’s packed full of improvements and new features, including support for multi-factor authentication, which we discuss below in MFA.
Highlights¶
Magento 2.3.4 support
Deprecated all Helper classes
Improved token validation framework
Multi-factor authentication support
MFA¶
Over the past several years, multi-factor authentication has become the gold standard for reducing unauthorized user account access. Relying on password-based authentication alone is simply not adequate anymore, yet so many merchants and agencies have not yet adopted measures to incorporate MFA into their user authentication workflows.
Prior to v1.2.0, Tokenize User Authentication was not considered an MFA extension, as there was only a single (albeit independent) point of authentication. After thoughtful consideration, we decided to add support for MFA, as we believe it is an important feature that substantially improves account security and provides real value to both merchants and agencies.
In v1.2.0, you have the option to enable/disable MFA for administrators and customers. When enabled, administrators/customers will be required to create a numeric PIN when they register their accounts, and will need to provide their PIN each time they attempt to access their account.
Changelog¶
For complete changelog, see CHANGELOG.txt.
[1.2.0] ~ 2020-02-07¶
Added¶
Add
PinInterfaceAdd
PinSearchResultsInterfaceAdd
PinRepositoryInterfaceAdd db_schema.xml
Add
AbstractRepositoryTraitcomponent traitAdd
AbstractCollectionInterfaceAdd
PinCollectionInterfaceAdd
PinResourceInterfaceAdd
PinRepositorymodelAdd
AbstractResourceTraitcomponent traitAdd
AbstractCollectionTraitcomponent traitAdd
AbstractPinTraitcomponent traitAdd Customer
Pinentity modelAdd Customer
Pinresource modelAdd Customer
Pincollection modelAdd
TokenCollectionInterfacecomponent interfaceAdd
TokenResourceInterfaceresource interfaceAdd
DataContainerInterfacecomponent interfaceAdd
DataContainerTraitcomponent traitAdd
ModuleConfigInterfacecomponent interfaceAdd
ModuleConfigconfiguration modelAdd adminhtml_pin_validate controller
Add adminhtml_pin_validate XML layout
Add adminhtml_pin_validate template
Add adminhtml_pin_validate view model
Add adminhtml default XML layout
Add adminhtml normalize.css
Add adminhtml_pin_validatePost controller
Add adminhtml_pin_create controller
Add adminhtml_pin_create XML layout
Add adminhtml_pin_create view model
Add adminhtml_pin_createPost controller
Add User
PINentity modelAdd User
PINresource modelAdd User
PINcollection modelAdd User resource model
Pin::getEntityIdColumn()methodAdd Customer resource model
Pin::getEntityIdColumn()methodAdd
PinValidatorInterfacecomponent interfaceAdd
TokenValidatorInterfacecomponent interfaceAdd
InvalidPinExceptionexception classAdd User
PinValidatormodelAdd User
TokenValidatormodelAdd
ModuleConfig::getAdminExpirationPeriod()methodAdd
ModuleConfig::isCustomerPinRequired()methodAdd area-specific
<preference>for PIN, token validator interfacesAdd PIN classes to action whitelist in Customer
RouterclassAdd customer_pin_create controller
Add customer_pin_create XML layout
Add customer_pin_create template
Add customer_pin_create view model
Add
RedirectTraitcomponent traitAdd PIN requirement check to customer_token_validate controller
Add customer_pin_createPost controller
Add
ModuleConfig::getConfigValue()methodAdd
TokenValidatorInterface::validate()method signatureAdd
PinValidatorInterface::validate()method signatureAdd Customer
TokenValidatormodelAdd Customer
PinValidatormodelAdd
ModuleConfig::getCustomerExpirationPeriod()methodAdd customer_pin_validate controller
Add customer_pin_validate XML layout
Add customer_pin_validate template
Add customer_pin_validate view model
Add customer_pin_validatePost controller
Add optional
$paramsargument toRedirectTrait::getRedirectToPath()method
Changed¶
Move
TokenRepositoryinto Repository/ model directoryChange
TokenRepositoryInterface::save()return typeReplace User config helper in adminhtml Token validation controller
Rename
processUnauthenticatedLoginRequest()method(s)
Fixed¶
Fix missing redirect URL params in customer_token_validate controller
Improve exception handling in backend authentication plugin
Deprecated¶
Deprecate
Shared\ModuleComponentInterfaceDeprecate
Plugin\Backend\Authenticationplugin- Deprecate all helper classes:
Helper\ActionHelper\CustomerHelper\DataHelper\DictHelper\Email\AbstractTransportHelper\Email\Transport\CustomerHelper\Email\Transport\UserHelper\Input\SanitizerHelper\Input\ValidatorHelper\State\ManagerHelper\TokenHelper\User
Removed¶
Remove “Forgot Password” link from admin login page
Remove
Model\Token\ResourceModel\Token\CollectionInterfaceRemove
Model\Token\ResourceModel\TokenInterface