Description
Email OTP Login for User Manager adds an additional email verification step to the frontend login form provided by WP User Manager.
After a user enters valid username and password credentials, the plugin generates a one-time verification code and sends it to the user’s registered email address. The user must enter the verification code before the WordPress login is completed.
The plugin is designed for websites using WP User Manager where additional verification is required for frontend user logins.
Features
- Email-based one-time password (OTP) verification.
- Works with the WP User Manager frontend login form.
- Six-digit OTP codes.
- OTP codes are stored securely as hashes.
- Configurable OTP expiration period.
- Limits the number of incorrect OTP attempts.
- Invalidates the OTP after the maximum number of failed attempts.
- Prevents the WordPress login from being completed until OTP verification succeeds.
- Uses WordPress nonces for OTP form security.
- Supports WordPress email delivery through wp_mail().
- Administrators and other users logging in through the WP User Manager frontend login can use the OTP verification flow.
- Does not modify the standard WordPress wp-login.php authentication flow.
Requirements
- WordPress 6.0 or later.
- PHP 7.4 or later.
- WP User Manager.
The website must have working WordPress email delivery configured. For reliable email delivery, an SMTP plugin or another transactional email service may be used.
Usage
After installation, add the following shortcode to the page that will be used for OTP verification:
[softemot_email_otp_login]
When a user successfully submits their username and password through the WP User Manager frontend login form:
- The credentials are validated.
- A one-time verification code is generated.
- The verification code is sent to the user’s registered email address.
- The user is redirected to the OTP verification page.
- The user enters the verification code.
- The WordPress login is completed only after successful OTP verification.
Security
OTP codes are not stored in plain text. The plugin stores a hash of the generated OTP.
OTP verification attempts are limited. When the maximum number of incorrect attempts is reached, the current OTP is invalidated and the user must start the login process again.
The OTP verification form uses a WordPress nonce to help protect the verification request.
Email Delivery
This plugin uses WordPress’s wp_mail() function to send verification codes.
The plugin does not provide an SMTP mail server. If your website does not reliably send WordPress emails, configure an SMTP plugin or transactional email service separately.
Installation
- Install and activate WP User Manager.
- Upload the Email OTP Login for User Manager plugin to the
/wp-content/plugins/directory. - Activate the plugin from the WordPress Plugins screen.
- Create a WordPress page with a slug “verify-login-otp” for OTP verification.
- Add the
[softemot_email_otp_login]shortcode to the OTP verification page. - Update the OTP page URL in the plugin configuration if required.
- Make sure WordPress can successfully send emails.
- Test the WP User Manager frontend login form.
FAQ
-
Does this plugin replace WP User Manager?
-
No. WP User Manager is required for the frontend login functionality. This plugin adds email OTP verification to that login process.
-
Does it work with the standard WordPress login page?
-
The plugin is designed for the WP User Manager frontend login form. The standard
/wp-login.phplogin process is not modified. -
Can administrators use OTP verification?
-
Yes. If an administrator logs in through the WP User Manager frontend login form, the same OTP verification process is applied.
-
What happens when the OTP expires?
-
The expired OTP can no longer be used. The user must start the login process again to receive a new verification code.
-
What happens after too many incorrect attempts?
-
The current OTP is invalidated and the user must log in again to generate a new verification code.
-
Does the plugin send emails directly through an external service?
-
No. The plugin uses WordPress
wp_mail(). Your website’s configured mail delivery system determines how the email is delivered.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“softenggmanoj Email OTP Login for User Manager” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “softenggmanoj Email OTP Login for User Manager” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
- Added email OTP verification for WP User Manager frontend login.
- Added OTP expiration.
- Added failed-attempt protection.
- Added secure OTP storage.
- Added OTP verification form.
- Added login protection until OTP verification succeeds.