The module adds a second step to the site login. After the user enters the correct password, they receive a 6-digit code by email and enter it to log in.
What it does
- After the username and password are entered, it sends a code to the account's email address.
- The code is valid for a limited time (15 minutes by default) and is kept in the session only as a hash.
- It counts failed attempts separately per user and per IP address, using Drupal's flood service. Starting a new session or requesting a new code does not reset the counters.
- It limits resending of the code (a pause between requests and a cap on codes per user).
- The check can be turned off for a single account (the "TFA enabled" field) or for the whole site (a checkbox in the settings).
- The email is configured in the admin UI: subject and body, core tokens, plus [tfa:code] and [tfa:lifetime]. Translations use the standard configuration translation.
Configuration
/admin/config/people/email-otp: enable or disable the check, code lifetime, number of failed attempts (per user and per IP), lockout period, code limit and the pause between resends.
Ask your assistant about Email OTP
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 1.0.0-alpha1 | Pre-release | 10–11 | Nov 1, 2026 | ||
| 1.x-dev | Dev | 10–11 | Nov 1, 2026 |