Back office 2FA : to secure admin logins - Module PrestaShop

PrestaShop 2FA Module: Secure Your Back-Office and Stop Password Theft

+7 downloads ★ ★ ★ ★ ★ 5 / 5 Version 2.0.0 1.7.8 8.2+ 9.1+ 5 languages 🇵🇱 PL 🇪🇸 ES 🇮🇹 IT 🇬🇧 EN 🇫🇷 FR
  • 6-digit code from an app (Google Authenticator, Authy, Microsoft Authenticator…) after the password
  • One code per month and per browser: 30-day trusted devices, 12-hour verified session
  • Mandatory 2FA by profile, with a grace period and a lockout after wrong codes
  • Dashboard, journal and reset of a colleague in a few clicks
  • 10 recovery codes per employee, emergency access by file or console
  • Compatible with PrestaShop 1.7.8, 8.2+ and 9.1+ (PHP 7.4 minimum)
Not sure yet? Try it free for 24 hours — no credit card required.
Features

Everything you need, nothing you don't.

TOTP two-factor authentication with Google Authenticator, Authy or Microsoft, trusted devices and management per employee.

TOTP double verification

A 6-digit code from an app, in addition to the password, before any action of the back office.

QR code activation

Scan the QR code, enter a first code: the set-up takes two minutes.

Works with all authenticator apps

Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden and any TOTP app.

Recovery codes included

Ten single-use codes per employee, renewable from the "My two-factor authentication" page.

Per-employee management

Each employee manages their own 2FA; a super administrator resets or unlocks a colleague from the dashboard.

Protection against password theft

With a stolen password, no page, form or AJAX call of the back office runs without the code.

Customer reviews

They use it every day.

5 out of 5 · 5 reviews

"Best module I've found for PrestaShop. Worth every penny."

TG Tom G.

"Lo uso en 3 tiendas sin ningún problema."

IT Isabel T.

"Soporte técnico rápido y eficaz. Gran trabajo!"

DS Diego S.

"Relación calidad/precio inmejorable."

PR Pablo R.
description Full description expand_more

Secure your PrestaShop Back-Office with Two-Factor Authentication (2FA)

Did you know that a password, no matter how complex, is no longer enough to guarantee the security of your online store? Faced with the rise of phishing and credential theft, access to your administration is the preferred target for hackers. Our Two-Factor Authentication (2FA) module adds a second step to every sign-in: the 6-digit code of an app on the employee's smartphone. With a stolen password, nothing runs in your back office: no page, no form, no AJAX call.

A Second Lock Against Password Theft

The security of your turnover and the protection of your customer data are your priorities. The module relies on the open TOTP standard (Time-based One-Time Password, RFC 6238) supported by the common authenticator apps: the code changes every 30 seconds and works only once. You strengthen the protection of your store's personal data (GDPR) and build trust within your management team.

A Sign-In That Does Not Slow Your Team Down

A two-factor authentication that people bypass because it wears them out protects nobody. The module reduces the number of codes asked without weakening the check:

  • One code per month and per browser: a trusted device is remembered for 30 days (adjustable), whatever the IP address. Each employee sees their devices and removes the ones they no longer use.
  • A verified session of 12 hours: a single code per working day, even on a browser that is not remembered. The duration is adjustable from 1 to 168 hours and signing out ends it.
  • Quick entry: the code is sent at the sixth digit, and the "Remember this device" box is ticked by default (adjustable).

Key Features

  • Universal Compatibility: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden or any TOTP app. Set-up by QR code, by a readable setup key or with the "Open in the app" button on a phone.
  • Granular Profile Management: make 2FA mandatory for critical profiles (e.g., SuperAdmin) and let the others turn it on themselves from "My two-factor authentication".
  • Configurable Grace Period: give your employees a few days (7 by default) to get equipped before making double authentication mandatory. The delay runs from the day the profile becomes mandatory, and a banner shows the days left.
  • Lockout After Wrong Codes: after 5 wrong codes (adjustable), the account is locked for 15 minutes (adjustable). The lockout is stored in the database: signing in again does not reset the attempts.
  • Dashboard and Journal: super administrators see who is protected, who is locked out and who still has to set up 2FA, and read the history of verifications, failures and security changes.
  • Reset a Colleague: an employee lost their phone? A super administrator resets or unlocks the account in a few clicks, after confirming with their own code.
  • Check Before Any Action: the code is required before a page, a form or an AJAX call runs. Changing phone or creating new recovery codes also requires a valid code.
"Verify it is you" page: 6-digit code field, the "Remember this device for 30 days" box ticked and a link to the recovery codes
Code page after the password
Super administrator dashboard: 4 employees of which 3 protected, one mandatory set-up pending, one locked employee, with the Reset and Unlock buttons
Employee dashboard

Why Choose This Solution for Your PrestaShop Store?

Unlike other complex solutions, our module was designed for demanding e-merchants who don't want to sacrifice their time. It offers a balance between high security and ease of use.

  • Peace of Mind: your catalog, margins and customer files are protected by a digital double lock.
  • Always a Way Back In: 10 single-use recovery codes per employee, the reset by a super administrator, the DISABLE_2FA file and the wepresta:2fa:disable console command keep you from a permanent lockout.
  • Lightweight: no override, no third-party PHP library, encrypted and authenticated secrets, an archive of less than 250 KB.
  • A License That Never Switches the Protection Off: if the license expires, 2FA stays enforced; only the settings and the dashboard are locked.

Simple, Fast, and Effective Installation

You don't need to be a cybersecurity expert to protect your business. Installation takes just a few clicks directly from your module manager. Once activated, the module guides each employee step by step through the set-up of their mobile app: two minutes are enough. Pick the mandatory profiles, and your PrestaShop back-office benefits from professional-grade protection, ready to face modern web threats.

Set-up page: install an authenticator app, scan the QR code (or type the key), then enter the code shown by the app
Three-step set-up
"My two-factor authentication" page: status on, 10 unused recovery codes and the list of trusted devices (Chrome / macOS, Safari / iOS) with their expiry date
My 2FA: recovery codes and trusted devices

Compatibility

Compatible with PrestaShop 1.7.8, 8.2+ and 9.1+, with PHP 7.4 minimum (json, openssl and mbstring extensions). PrestaShop 1.7.7, 8.0, 8.1 and 9.0 are not supported. One archive fits all these versions. The interface is available in French, English, Spanish, Italian and Polish. On PrestaShop 1.7, the settings page points out three legacy stand-alone PrestaShop scripts (backup.php, pdf.php, get-file-admin.php) to delete: they answer to a signed-in employee without going through the check of the module.

Support is provided from your WePresta customer area or by email at mail@wepresta.shop, depending on the support option of your plan. Read the full documentation

Comparaison

Why choose us?

See how we compare to the most common alternatives on the market.

Feature Addons
Transparent pricing
Lifetime updates included
Direct developer support
PS 1.7, 8 & 9 compatible
Standardized clean code
Multi-store ready
No hidden renewal fees
Included Not included Partial / Not guaranteed
Preview

Discover the module in images.

Two-factor authentication (2FA) for the PrestaShop back office

Two-factor authentication (2FA) for the PrestaShop back office

Code page after the password

Code page after the password

Employee dashboard

Employee dashboard

Three-step set-up

Three-step set-up

My 2FA: recovery codes and trusted devices

My 2FA: recovery codes and trusted devices

Support

FAQ

Find answers to frequently asked questions about this module

2FA adds a second check when signing in to the administration. Even if a password is stolen (phishing, data leak, reused password), the back office stays closed without the temporary code generated on the employee’s phone. It is a direct protection against a store takeover: price changes, order diversion, creation of administrator accounts or export of customer data.

The module uses the TOTP standard (Time-based One-Time Password, RFC 6238): a 6-digit code that changes every 30 seconds, generated by an authenticator app. No SMS (costs, deliverability) or email (compromised mailbox) is needed, and the code is generated without a network connection. A phone whose clock is off by one 30-second period is still accepted; a given code works only once.

All TOTP apps: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden and their equivalents. Each employee uses the app of their choice, with no proprietary tool imposed. The QR code is scanned with the app; on a phone, the "Open in the app" button or typing the setup key avoids the scan.

Yes. In the settings you choose the profiles for which 2FA is mandatory, for example SuperAdmin and the profiles that reach payments, modules or exports. The other employees can turn it on themselves from "My two-factor authentication". A grace period (7 days by default) leaves time to get equipped: it runs from the day the profile becomes mandatory, and a banner shows the days left.

Two mechanisms add up. The trusted device remembers a browser for 30 days (adjustable), whatever the IP address: the employee enters one code per month and per browser, with the "Remember this device" box ticked by default. On a browser that is not remembered, the verification stays valid for 12 hours (adjustable from 1 to 168 hours): a single code per working day. Signing out or removing the device from "My two-factor authentication" asks for the code again. You can also tie a device to its IP address for a stricter check.

They sign in with one of their 10 recovery codes (single use), then set up their new app with "Change my phone". If they have no code left, a super administrator opens the dashboard, clicks "Reset" on their row and confirms with their own code: the employee’s 2FA is removed and they set it up again at their next sign-in. Every reset is written to the journal.

Four ways, from the simplest to the most radical: the employee’s recovery code; the reset by another super administrator; the console command wepresta:2fa:disable (option --employee with the employee’s ID or email, or --all for the whole shop, and --dry-run to simulate); the empty DISABLE_2FA file placed in the module folder, which suspends the code request for everybody as long as it exists. A red banner reminds super administrators that it is there.

It locks the second step: after 5 wrong codes (adjustable from 1 to 20), the employee is locked out for 15 minutes (adjustable from 1 to 1440 minutes). The lockout is stored in the database: signing in again with the password does not reset the counter. A code is accepted only once. The module does not limit password attempts.

Yes. The journal of the dashboard, reserved for super administrators, lists with the date, the employee, the IP address and the detail: accepted or wrong codes, recovery codes used, lockouts and unlocks, phone changes, new recovery codes, devices added or removed, resets and deactivations. It can be filtered by employee and never contains a code or a secret. Lines older than 90 days (adjustable from 7 to 3650 days) are deleted automatically.

Yes. The code is checked before the back office runs anything: pages, forms (POST), AJAX and JSON calls, pages without a menu. With the password alone, a page is redirected to the code page and an AJAX call gets a 401 answer with no data. Known limit on PrestaShop 1.7: the legacy stand-alone scripts backup.php, pdf.php and get-file-admin.php answer to a signed-in employee without going through the PrestaShop core; the settings page points it out and asks you to delete them.

It stays enforced. The license never switches the protection off: at expiry (end of trial, due date, suspended license or license server error), only the settings and the dashboard are locked behind the license form, with a banner. Employees keep signing in with their code. Activating or renewing the license reopens the settings.

The module works with PrestaShop 1.7.8, 8.2+ and 9.1+, and PHP 7.4 minimum, with a single archive; PrestaShop 1.7.7, 8.0, 8.1 and 9.0 are not supported. To update, upload the 2.0.0 archive in the module manager: the enrolments, the recovery codes and the journal are kept. The trusted devices of version 1.0.0 are no longer recognized: each employee enters their code once per browser.

Yes. Uninstalling the module stops the protection and deletes the enrolments, trusted devices, journal and settings of the module; PrestaShop asks for a confirmation first. Once the module is uninstalled, the back office is protected by the password alone again.

Yes, temporarily. The "Enable two-factor authentication" switch in the settings suspends the code request for everybody without deleting the enrolments; turn it back on to restore the protection. For a single employee, use "Reset" in the dashboard or, if their profile is not mandatory, "Turn off two-factor authentication" from their page.

No. The module only acts in the back office: it adds nothing to what your customers see, replaces no PrestaShop file (no override) and therefore works with every theme.

Yes. TOTP secrets are stored in an encrypted and authenticated format, recovery codes and trusted-device tokens as digests, and the journal never contains a code or a secret. The keys derive from the PrestaShop encryption key, which is not in the database: a database export alone cannot produce a valid code.

It relies on a cookie specific to the employee and the browser (HttpOnly, SameSite=Lax) of which the database keeps only a digest. It expires on the chosen date (30 days by default), the employee can remove it at any time from "My two-factor authentication", and you can tie it to the IP address for a stricter check. On a shared workstation, turn trusted devices off (duration 0).

Join +7 merchants using this module

5-minute installation · Full documentation included

inventory_2 Module 10.70 € 4.28 € one-time -60%
Choose your license
3 months of support for 0.99€ · then 1.99€/month
  • • Response within 24 business hours
  • 🔧 Installation & configuration assistance
  • 💬 Direct contact with the developer
No commitment · Cancel in 1 click from your account
Instead of --€/year if purchased separately
Loading...