Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

simple_otp

No security coverage
View on drupal.org

The Simple OTP module provides OTP configuration and service for both email and phone numbers. It helps us to generate and validate OTPs.

We can easily configure and integrate the OTP logic and customize the email or SMS to send an OTP to the user. This module can be used in email or phone number verification.

Features

Here, we are getting two methods generateOtp() and validateOtp() in OTP service. We can send custom OTP emails or SMS to user.

Post-Installation

After installation, we have to first configure the OTP length and OTP Expiry Time (in minutes).

Use the following service in code,

OTP for email

// Generate OTP
$otp_manager = \Drupal::service('simple_otp_service.otp_manager');
$otp = $otp_manager->generateOtp('email', '[email protected]');

// Validate OTP
$is_valid = $otp_manager->validateOtp('email', '[email protected]', '1234');

OTP for phone number

// Generate OTP
$otp_manager = \Drupal::service('simple_otp_service.otp_manager');
$otp = $otp_manager->generateOtp('phone_number', '1234567890');

// Validate OTP
$is_valid = $otp_manager->validateOtp('phone_number', '1234567890', '1234');

Similar projects

https://www.drupal.org/project/otp
https://www.drupal.org/project/otp_service

Activity

Total releases
1
First release
Aug 2025
Latest release
8 months ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.x-dev Dev Aug 18, 2025