Reading list Switch to dark mode

    Two Factor Authentication for Magento 2

    Updated 11 March 2024

    Magento 2 Two Factor Authentication adds extra security features to the account. It provides two-factor authentication for the website.

    Magento 2 Two Factor Authentication is verified in two cases i.e creation of a new account and login into the account of existing customers.

    It is one of the most reliable processes for the security of account purposes.

    Also, Magento 2 Security extension helps secure your website form various attacks and hacks.

    Go through the brief overview of the module –

    Start your headless eCommerce
    now.
    Find out More
    t2e5PbKw-18

    Features

    • At the time of registration, Auth Code will be sent to the mobile number entered. However, it will be verified after the account will be created.
    • Admin can enable/disable the TwoFactorAuth module from the admin configuration.
    • Admin can enable/disable TwoFactorAuth verification of the customers at the time of registration.
    • Customers have to verify to access the account.
    • The verification code expiration time period can be changed by the admin.

    Install Extension from Webkul Store

    #1 Download Module

    Firstly, you need to log in to Webkul Store, go to My Account>My Purchased Products section, verify and then download and extract the contents of this zip folder on the system.

    #2 Upload Folder

    Once the module zip is extracted, follow path src>app and then copy the app folder into the Magento 2 root directory on the server as shown below:

    installation

    #3 Run Commands

    After uploading the module folder, you need to run the following commands in the Magento 2 root directory:

    composer require twilio/sdk
    composer require sendgrid/sendgrid
    composer require pragmarx/google2fa
    composer require pragmarx/google2fa-qrcode
    php bin/magento setup:upgrade
    php bin/magento setup:di:compile
    php bin/magento setup:static-content:deploy
    php bin/magento indexer:reindex
    php bin/magento cache:flush

    After running the commands, you have to flush the cache from the Magento admin panel. By navigating through System > Cache management as shown below.

    Screenshot-12

    Install Extension from Magento Marketplace

    If you have purchased this extension from the Magento Marketplace then please follow the below process or visit this link.

    #1 Get Access Keys

    You need to get access keys, navigate to My Profile in Magento Marketplace, and then choose Access Keys in the My Products section.

    my-profile

    Go to Magento 2 and then you need to copy both the Access Keys – Public Key and Private Key. These access keys will be needed in the next steps for authentication.

    copy-keys

    If access keys are not created earlier, click Create A New Access Key, enter any name and click OK.

    create-key-name

    #2 Update composer.json File

    To know the component name and version number, go to your Magento Marketplace account section, My Profile>My Purchases, then find this extension to view the details. Please note – Below is an example image, every extension will have its unique component name and version.

    know-component-name-version

    After that, navigate to your Magento project directory and update your composer.json file in the following format.

    composer require <component-name>:<version>

    For example, to install version 5.0.0 of this extension you need to run the following command:

    composer require webkul/2fa:5.0.0

    #3 Enter Access Keys

    Now you will need to enter the Access Keys that you obtained as explained in the first step #1 Get Access Keys. Wait for Composer to finish updating your project dependencies and make sure there aren’t any errors.

    #4 Run Commands

    You need to run the following commands:

    composer require twilio/sdk
    composer require sendgrid/sendgrid
    composer require pragmarx/google2fa
    composer require pragmarx/google2fa-qrcode
    php bin/magento setup:upgrade
    php bin/magento setup:di:compile
    php bin/magento setup:static-content:deploy
    php bin/magento indexer:reindex
    php bin/magento cache:flush

    Multi-Lingual Support

    For multilingual support, the admin will navigate through Store > Configuration > General > Locale Options. Now select the locale as English (the language into which the admin wants to translate his store content).

    Screenshot-1-4

    Admin Configuration

    Once the module of Two Factor Authentication for Magento 2 (Adobe Commerce) is installed completely. The admin will now manage the feature from the backend by navigating to Stores > Configuration > TwoFactorAuth.

    Screenshot-from-2023-09-18-11-29-28

    Admin Enable /Disable 

    In configuration settings, the admin can enable and disable the twofactAuth.

    Screenshot-3-2
    • Enable Module on Frontend:- Admin can enable and disable the module by YES/No
    • Need Auth Validation On Customer Registration:- To register new customer validation needed or not YES/No.
    • Auth Code Expiry:- OTP duration is between 60 to 300 sec.
    • Send OTP Via:- Mobile, Email, Sending Email Link, Push Notification, TOTP/Authenticator, Backup Code.

    Twilio Auth

    “Twilio” is a communications platform for sending and receiving text messages using its web service APIs.

    The admin can signup for the Twilio services and register to the Twilio. To register, the admin can visit Twilio then click on the signup button. 

    Twilio sign up

    Now, from the Twilio account, the admin can access the information required in the admin dashboard. 

    Settings

    Front End Workflow

    Send OTP Via Mobile

    At the time new account was created by the customer. OTP will be sent to the customer’s mobile number. Now customer has to go through the two-step verification. As per the given below image.

    TwoFactor-Auth-V

    Enter the OTP  sent on the registered mobile number. After the verification Account is verified successfully of a new customer. It appears like the given below image.

    Account-verification

    Existing Customer

    TwoFactAuth is applicable for the existing customer. Any time an existing customer does the login. He receives the OTP. After entering the OTP they can use their account after verification.

    Existing-Customer-otp

    Thus, the customer receives the OTP (SMS) on the mobile, as shown in the image below.

    OTP (One Time Password)_mobile-otp

    Send OTP Via Email

    Admin End

    The admin needs to create an account on SendGrid for the SendGrid API Key, Follow the below-mentioned steps for creating the account on SendGrid:

    Screenshot-16-1

    Create your account, enter the email and password and click on Create account.

    Screenshot-17

    Once the Admin has created the account he will be redirected towards the Dashboard of SendGrid

    Screenshot-6-3

    On the Dashboard on the left side, go to the Email API option then click on Integration Guide below mentioned page will appear, click on Choose in the Web API box.

    Screenshot-7-2

    Next, choose the language you want to use

    Screenshot-8-3

    On the below-mentioned page, the admin needs to create the API key, enter the first API Key name and click on Create Key.

    Screenshot-10-1

    After clicking on the Create Key, the admin will get the API Key.

    Screenshot-11-2

    Enter the API Key and the Email ID from which the SendGrid account has been created by the admin, at the Configuration page as mentioned below in the snapshot :

    Screenshot-20-

    Customer End

    The customer will enter the email ID and password on the login page.

    Screenshot-18-1-2

    After entering the credentials the customer will receive the OTP in the mail, as shown below in the snapshot:

    unnamed-file

    By entering the OTP the customer can log in into the account.

    Send OTP Via Email Link

    The admin needs to create an account on SendGrid for the SendGrid API Key, Follow the same steps mentioned in the previous topic.

    The customer will enter the email ID and password on the login page.

    Screenshot-18-1-1

    Once entering the credentials the customer will receive the link as mentioned below in the snapshot.

    screenshot_from_2023_09_11_17_06_20-1-

    By clicking on the link the customer can log in.

    Send OTP Via Push Notification

    Admin End

    The admin needs to create an account on Firebase, Please click here and create a new project with your Google account.

    1.  After opening the Firebase page. Please create a project by clicking Add project button.

    Firebase-console

    2. Then, create a new project, enter the name of the project, and click continue.

    step1-create-project

     The next step will ask you to set up Google Analytics. Let’s go ahead and set it up.

    step2
    step2

    (Optional) Enable Google Analytics for your project, then follow the prompts to select or create a Google Analytics account, if you don’t want to set google analytics disable the toggle button or you can click “Continue” and you will be taken to the project home page. 

    Choose or create new Google Analytics, and click “Create a new Account”.

    update-step-3

    Finally, select your Google Analytics location (the United States by default) and read and configure the sharing settings. Finally, accept the Google Analytics Terms of Use and create a project. The process only takes a few seconds. When finished, click “Continue” and you will be taken to the project home page.

    image-2

    3. After creating your new project, click the Settings menu icon. And then select the Project Settings option. Please view the below screenshot. A new Project Settings page will open.

    update

    4. After entering the Project Settings page, go to the Cloud Messaging tab. Further, from here you will find your ProjectCredentials. Copy and save your Server Key and Sender ID as shown in the snapshot below.

    updatefirebase2

    5. Moreover, navigate through Project Settings > General will find the other Firebase Project Credentials under web apps. You need to enter these credentials into the admin configuration.

    firebase3

    After receiving all the credentials the admin needs to enter them in the Configuration as mentioned in the snapshot below:

    Screenshot-19

    Customer End

    The customer has to allow the show notifications popups then only the customer will receive the push notifications.

    screenshot_from_2023_09_18_12_46_51-1

    Now customer needs to enter the login credentials like email and password on the login page.

    Screenshot-18-

    After allowing the show notifications popup, customer will receive a push notification as mentioned below in the snapshot:

    screenshot_from_2023_09_07_13_12_28-1

    From the push notification, the customer will receive the one-time verification code and by entering that, the customer can log in.

    Send OTP Via TOTP/Authenticator

    If the admin selected Send OTP Via TOTP/Authenticator from the configuration page. In this case, the customer needs can verify the account via scanner, enter the credentials on the login page

    Screenshot-18-1-3

    After entering the credentials there will be a popup in which the barcode will be there the customer can scan the barcode using Google Authenticator Application .

    Screenshot-21-

    Once the customer scans the barcode, he will get the OTP and by entering the OTP, the customer can verify the account after login or registering.

    Screenshot_20230915_191950_Authenticator

    Send OTP Via Backup Code

    If the admin selected Send OTP Via Backup Code at the time of configuration then, after the customer created or registered the account, the customer needs to click on the Backup Code option on the left-hand side, and then click on Get backup codes.

    Screenshot-4-3

    After clicking on Get backup codes the customer will receive the list of the Backup codes, once the account has been verified.

    Screenshot-5-3

    The customer can save the backup codes in case the customer doesn’t have access to the auth code on the mobile phone or email, then the customer can use the backup code and log in to the panel.

    One code can be used only once, if the customer has used one backup code, then that backup code can’t be used again and also it going to be removed.

    That’s all for the Two Factor Authentication for Magento 2 extension. Still, if you face any issues feel free to add a ticket. Let us know your views on making the module better https://webkul.uvdesk.com/

    Explore the Adobe Commerce Cloud development services by Webkul. You may also browse our quality Magento 2 extensions.

    Current Product Version - 5.0.1

    Supported Framework Version - 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x

    Blog Version - 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x
    • Version 2.4.x.
    • Version 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x
    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    Be the first to comment.

    Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home

    Table of Content