Title: Rishav AuthNova OTP
Author: rishav001
Published: <strong>2026 年 4 月 17 日</strong>
Last modified: 2026 年 4 月 17 日

---

搜尋外掛

![](https://ps.w.org/rishav-authnova-otp/assets/icon.svg?rev=3505367)

# Rishav AuthNova OTP

 由 [rishav001](https://profiles.wordpress.org/rishav001/) 開發

[下載](https://downloads.wordpress.org/plugin/rishav-authnova-otp.1.0.0.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/rishav-authnova-otp/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/rishav-authnova-otp/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/rishav-authnova-otp/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/rishav-authnova-otp/#developers)

 [技術支援](https://wordpress.org/support/plugin/rishav-authnova-otp/)

## 外掛說明

Rishav AuthNova OTP adds a one-time-password verification layer to core WordPress
authentication flows.

Features include:

 * Configurable OTP length and charset (numeric or alphanumeric)
 * OTP expiry and retry limits with temporary lockouts
 * Login OTP verification step (after password check)
 * OTP-gated registration flow
 * OTP-gated password reset flow
 * Delivery via wp_mail, SendGrid, and Twilio
 * OTP storage using hashes (never plaintext)
 * Resend OTP with cooldown and challenge rotation

Security highlights:

 * OTP values are hashed before storage and are never saved as plaintext
 * OTP hashes use keyed HMAC storage and constant-time verification
 * OTP challenges expire automatically and enforce retry limits per challenge
 * Request throttling applies cooldown and exponential backoff per IP and identifier
 * Lockout windows reduce repeated invalid OTP submissions
 * Nonces are applied on sensitive form submissions
 * Public auth responses are intentionally generic to reduce account-enumeration
   leakage
 * Delivery uses synchronous-first send with bounded async retry fallback and challenge-
   level delivery status tracking

Security limitations:

 * This plugin does not replace passwords, HTTPS, WAF/rate-limiting at the edge,
   or secure hosting controls
 * OTP delivery depends on the configured email/SMS provider uptime and deliverability
 * Administrators should combine this plugin with standard WordPress hardening and
   monitoring

Reliability notes:

 * OTP delivery is attempted synchronously first to reduce silent failures
 * If synchronous delivery fails and background delivery is healthy, the plugin 
   schedules bounded retries
 * If background delivery is unhealthy (for example DISABLE_WP_CRON), fallback queueing
   is skipped and users receive a retry-safe error
 * Resend cooldown state is server-authoritative and exposed through a status endpoint
   used by frontend countdown UX
 * Background queue payload contains only challenge ID (no raw OTP or destination
   data)

### External Services

This plugin can connect to third-party services to deliver OTP messages. These services
are optional and only used if enabled in plugin settings.

#### Twilio (SMS Delivery)

 * Service: Twilio Programmable Messaging API
 * Purpose: Send OTP codes by SMS
 * Data sent: destination phone number, sender phone number, OTP message text, account
   SID for authentication
 * Credential handling: Twilio credentials are stored in WordPress options and used
   only when sending OTP messages
 * When sent: when OTP delivery method includes SMS and an OTP is generated for 
   login, registration, password reset, or resend
 * Why sent: to deliver time-sensitive OTP codes to the user by SMS
 * Terms of Service: https://www.twilio.com/legal/tos
 * Privacy Policy: https://www.twilio.com/en-us/legal/privacy

#### SendGrid (Email Delivery)

 * Service: SendGrid Mail Send API
 * Purpose: Send OTP codes by email
 * Data sent: recipient email address, sender email/name, message subject, OTP message
   body, API key for authentication
 * Credential handling: SendGrid API key is stored in WordPress options and used
   only when sending OTP messages
 * When sent: when email provider is set to SendGrid and an OTP is generated for
   login, registration, password reset, or resend
 * Why sent: to deliver time-sensitive OTP codes to the user by email
 * Terms of Service: https://sendgrid.com/policies/terms/
 * Privacy Policy: https://sendgrid.com/policies/privacy/

### Configuration

 1. Set OTP length, type, expiry, retry limit, and lockout duration.
 2. Choose delivery method: Email, SMS, or Both.
 3. Configure provider credentials for SendGrid and/or Twilio if needed.
 4. Enable or disable OTP on login, registration, and password reset flows.

## 安裝方式

 1. Upload the plugin folder to /wp-content/plugins/.
 2. Activate the plugin through the Plugins screen in WordPress.
 3. Go to Settings > OTP Authentication.
 4. Configure OTP rules and delivery providers.

## 常見問題集

### Does this plugin store OTP values in plain text?

No. OTP values are hashed before storage and verified using hash comparison.

### Can I use SMS delivery?

Yes. Twilio is supported for SMS delivery.

### Can I use email API delivery?

Yes. SendGrid API is supported, and wp_mail is available as a fallback.

### Does this work with the default wp-login.php flow?

Yes. The plugin integrates with WordPress login, registration, and lost-password
actions.

### What user field is used for phone numbers?

By default, the plugin reads phone_number user meta. You can change the meta key
in plugin settings.

## 使用者評論

這個外掛目前沒有任何使用者評論。

## 參與者及開發者

以下人員參與了開源軟體〈Rishav AuthNova OTP〉的開發相關工作。

參與者

 *   [ rishav001 ](https://profiles.wordpress.org/rishav001/)

[將〈Rishav AuthNova OTP〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/rishav-authnova-otp)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/rishav-authnova-otp/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/rishav-authnova-otp/)，或透過
[RSS](https://plugins.trac.wordpress.org/log/rishav-authnova-otp/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/rishav-authnova-otp/)。

## 變更記錄

#### 1.0.0

 * Initial release.
 * Added OTP flows for login, registration, and reset.
 * Added SendGrid and Twilio integrations.
 * Added resend cooldown UX and secure challenge rotation.
 * Added configurable OTP policy controls in the admin settings page.

## 中繼資料

 *  版本 **1.0.0**
 *  最後更新 **2 個月前**
 *  啟用安裝數 **少於 10 次**
 *  WordPress 版本需求 ** 5.8 或更新版本 **
 *  已測試相容的 WordPress 版本 **6.9.4**
 *  PHP 版本需求 ** 7.4 或更新版本 **
 *  語言
 * [English (US)](https://wordpress.org/plugins/rishav-authnova-otp/)
 * 標籤:
 * [email verification](https://tw.wordpress.org/plugins/tags/email-verification/)
   [login security](https://tw.wordpress.org/plugins/tags/login-security/)[otp](https://tw.wordpress.org/plugins/tags/otp/)
   [sms](https://tw.wordpress.org/plugins/tags/sms/)[two factor](https://tw.wordpress.org/plugins/tags/two-factor/)
 *  [進階檢視](https://tw.wordpress.org/plugins/rishav-authnova-otp/advanced/)

## 評分

這個項目尚無任何評論記錄。

[Your review](https://wordpress.org/support/plugin/rishav-authnova-otp/reviews/#new-post)

[查看全部使用者評論](https://wordpress.org/support/plugin/rishav-authnova-otp/reviews/)

## 參與者

 *   [ rishav001 ](https://profiles.wordpress.org/rishav001/)

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/rishav-authnova-otp/)