Edit in GitHubLog an issue

Configuring two-factor authentication (2FA)

Using two-factor authentication (2FA) with the Functional Testing Framework is possible with some configurations settings in Magento. In this document, we will use Google as the authentication provider.

Configure Magento

To prepare Adobe Commerce or Magento Open Source for testing when 2FA is enabled, set the following configurations through the Adobe Commerce or Magento Open Source CLI.

First, select Google Authenticator as Magento's 2FA provider:

Copied to your clipboard
bin/magento config:set twofactorauth/general/force_providers google

Now set the OTP window to 29:

Copied to your clipboard
bin/magento config:set twofactorauth/google/leeway 29

Set a base32-encoded secret for Google Authenticator to generate a OTP for the default admin user that you set for MAGENTO_ADMIN_USERNAME in .env:

Copied to your clipboard
bin/magento security:tfa:google:set-secret <MAGENTO_ADMIN_USERNAME> <OTP_SHARED_SECRET>

Configure the MFTF

Save the same base32-encoded secret in the Functional Testing Framework credential storage, e.g. .credentials file, HashiCorp Vault or AWS Secrets Manager. More details are here.

The path of the secret should be:

Copied to your clipboard
magento/tfa/OTP_SHARED_SECRET

GetOTP

A one-time password (OTP) is required when an admin user logs into the Admin. Use the action getOTP Reference to generate the code and use it for the Authenticator code text field in 2FA - Google Auth page.

Note: You will need to set the secret for any non-default admin users first, before using getOTP. For example:

Copied to your clipboard
<magentoCLI command="security:tfa:google:set-secret admin2 {{_CREDS.magento/tfa/OTP_SHARED_SECRET}}" stepKey="setSecret"/>
  • Privacy
  • Terms of Use
  • Do not sell or share my personal information
  • AdChoices
Copyright © 2024 Adobe. All rights reserved.