跳至内容
WordPress.org

China 简体中文

  • 主题
  • 插件
  • 新闻
    • 文档
    • 论坛
  • 关于
  • 获取 WordPress
获取 WordPress
WordPress.org

Plugin Directory

Rishav AuthNova OTP

  • 提交插件
  • 我的收藏
  • 登录
  • 提交插件
  • 我的收藏
  • 登录

Rishav AuthNova OTP

作者:rishav001
下载
  • 详情
  • 评价
  • 安装
  • 开发进展
支持

描述

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

帮助将「Rishav AuthNova OTP」翻译成简体中文。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志。

更新日志

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
  • 最后更新:1 月前
  • 活跃安装数量 不到10
  • WordPress 版本 5.8 或更高版本
  • 已测试的最高版本为 6.9.4
  • PHP 版本 7.4 或更高版本
  • 语言
    English (US)
  • 标签
    email verificationlogin securityotpsmstwo factor
  • 高级视图

评级

尚未提交反馈。

Your review

查看全部评论

贡献者

  • rishav001

支持

有话要说吗?是否需要帮助?

查看支持论坛

  • 关于
  • 新闻
  • 主机
  • 隐私
  • 陈列窗
  • 主题
  • 插件
  • 区块样板
  • 学习
  • 支持
  • 开发者
  • WordPress.tv ↗︎
  • 参与
  • 活动
  • 捐赠 ↗
  • 未来五分计划
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

China 简体中文

  • 关注我们的 X(原 Twitter)账号
  • 访问我们的 Bluesky 账号
  • 关注我们的 Mastodon 账号
  • 访问我们的 Threads 账号
  • 访问我们的 Facebook 公共主页
  • 关注我们的 Instagram 账号
  • 关注我们的 LinkedIn 主页
  • 访问我们的 TikTok 账号
  • 访问我们的 YouTube 频道
  • 访问我们的 Tumblr 账号
代码如诗
The WordPress® trademark is the intellectual property of the WordPress Foundation.