跳至内容
WordPress.org

China 简体中文

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

Plugin Directory

Loqwall 2FA

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

Loqwall 2FA

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

描述

Loqwall 2FA adds a secure second authentication step after the standard WordPress username/password login. After entering their credentials, users must verify their identity with a one-time code before gaining access.

Features

  • Email OTP — a 6-digit code is sent to the user’s registered email address.
  • Authenticator App (TOTP) — time-based codes compatible with Google Authenticator, Authy, Bitwarden, and any RFC 6238 app.
  • Backup codes — 10 one-time recovery codes generated per user.
  • Device trust — optionally remember a trusted device for up to 30 days.
  • Role enforcement — admins can be required to use 2FA regardless of their personal preference.
  • Per-user control — users enable and configure 2FA from their own profile page.
  • Rate limiting — brute-force protection on OTP verification.
  • Audit log — every authentication event is recorded in a private database table.
  • No external dependencies — all cryptographic operations use PHP’s built-in functions. No Composer, no remote APIs.
  • Developer-friendly — hooks and filters let you customise behaviour without modifying plugin files.

For Developers: Hooks & Filters

Filters

Loqwall_2FA_required_for_user

Runs on every login attempt. Return false to exempt a user, or true to force 2FA regardless of settings.

add_filter( 'Loqwall_2FA_required_for_user', function( $required, $user ) {
    // Exempt the user with ID 5 from 2FA.
    if ( 5 === $user->ID ) {
        return false;
    }
    return $required;
}, 10, 2 );

Loqwall_2FA_otp_email_message

Filters the email body before the OTP is sent. Receives the body string, the WP_User object, the plain-text 6-digit code, and a boolean indicating whether the email is HTML.

add_filter( 'Loqwall_2FA_otp_email_message', function( $body, $user, $code, $html_mode ) {
    // Append a custom footer to every OTP email.
    return $body . '<p>Need help? Contact support@example.com</p>';
}, 10, 4 );

Actions

Loqwall_2FA_verified

Fires immediately after a user successfully passes 2FA. Receives the user ID and the method used ('email', 'totp', or 'backup_code').

add_action( 'Loqwall_2FA_verified', function( $user_id, $method ) {
    // Log the successful verification to a custom audit system.
    my_audit_log( $user_id, 'login_verified', $method );
}, 10, 2 );

Loqwall_2FA_failed

Fires after each failed 2FA verification attempt. Receives the user ID and the method attempted.

add_action( 'Loqwall_2FA_failed', function( $user_id, $method ) {
    // Notify an admin after a failed attempt.
    wp_mail( get_option('admin_email'), 'Failed 2FA attempt', "User #$user_id failed via $method." );
}, 10, 2 );<h3>Third Party Libraries</h3>

This plugin bundles the following third-party library:

qrcodejs
* Author: Sangmin Shim (davidshimjs)
* License: MIT
* Source: https://github.com/davidshimjs/qrcodejs
* Files: assets/js/qrcode.min.js, assets/js/qrcode.js
* Purpose: Renders the QR code displayed during Authenticator App setup. Used entirely client-side; makes no external network requests.

安装

  1. Upload the oqwall-2fa folder to the /wp-content/plugins/ directory, or install the plugin through the Plugins > Add New screen in WordPress.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Navigate to Loqwall 2FA > Settings and enable Two-Factor Authentication.
  4. Each user can then visit their Profile page to set up their preferred 2FA method.

常见问题

What 2FA methods are supported?

Email OTP (a 6-digit code emailed on each login) and Authenticator App (TOTP, RFC 6238), compatible with Google Authenticator, Authy, Bitwarden, and Microsoft Authenticator.

Can I force administrators to always use 2FA?

Yes. Enable the Force Admins option in Loqwall 2FA > Settings. Administrators will be required to complete 2FA regardless of their personal preference.

What happens if a user loses access to their 2FA method?

Each user has 10 one-time backup codes generated when they first set up 2FA. These can be regenerated by the user or by an administrator from the user profile page. An administrator can also disable 2FA for the user from their profile.

Does this plugin phone home or send any data externally?

No. The plugin makes no outbound HTTP requests. All data (logs, OTP hashes, device cookies) stays on your server.

Is this plugin multisite compatible?

Yes. The plugin works on standard single-site and multisite WordPress installations.

Which browsers are supported?

Any modern browser. The QR code for Authenticator App setup is rendered entirely client-side using the bundled qrcode.js library.

Where can I find the source code?

The full source code is available on the plugin’s WordPress.org repository page. The unminified version of the bundled qrcode.js library is included in assets/js/qrcode.js.

评价

此插件暂无评价。

贡献者及开发者

「Loqwall 2FA」是开源软件。 以下人员对此插件做出了贡献。

贡献者
  • mohamedelaaouam99

帮助将「Loqwall 2FA」翻译成简体中文。

对开发感兴趣吗?

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

更新日志

1.0.0

  • Initial release.
  • Email OTP authentication.
  • Authenticator App (TOTP) authentication.
  • Backup recovery codes.
  • Device trust (remember this device).
  • Role-based 2FA enforcement.
  • Audit log with configurable retention.
  • Rate limiting on OTP verification.
  • Translatable — bundled French (fr_FR) translation.

额外信息

  • 版本 1.0.0
  • 最后更新:1 月前
  • 活跃安装数量 不到10
  • WordPress 版本 6.0 或更高版本
  • 已测试的最高版本为 7.0.4
  • PHP 版本 8.0 或更高版本
  • 语言
    English (US)
  • 标签
    2FAauthenticationloginsecuritytwo factor
  • 高级视图

评级

尚未提交反馈。

您的评价

查看全部评论

贡献者

  • mohamedelaaouam99

支持

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

查看支持论坛

  • 关于
  • 新闻
  • 主机
  • 隐私
  • 陈列窗
  • 主题
  • 插件
  • 区块样板
  • 学习
  • 支持
  • 开发者
  • 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.