Skip to Àkóónú
WordPress.org

Yorùbá

  • Themes
  • Plugins
  • Àtìlẹ́yìn
  • Nípa
  • Ìwé Ìtónisónà
  • Egbé
  • Kàn síwa
  • Gba WordPress
Wa WordPress jáde
WordPress.org

Plugin Directory

Loqwall 2FA

  • Fi plugin sílẹ̀
  • Àwọn ààyò mi
  • Wọlé
  • Fi plugin sílẹ̀
  • Àwọn ààyò mi
  • Wọlé

Loqwall 2FA

Láti ọwọ́ mohamedelaaouam99
Ṣe ìgbàsílẹ̀
  • Àwọn àlàyé
  • Àwọn àgbéyẹ̀wò
  • Ìgbéwọlẹ̀
  • Ìdàgbàsókè
Ìrànlọ́wọ́

Àpèjúwe

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Ìtumọ̀ Yorùbá: ’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Ìtumọ̀ Yorùbá: ’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.

Ìgbéwọlẹ̀

  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.

FAQ

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Ìtumọ̀ Yorùbá: ’s WordPress.org repository page. The unminified version of the bundled qrcode.js library is included in assets/js/qrcode.js.

Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

Àwọn Olùkópa & Olùgbéejáde

“Loqwall 2FA” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti ṣe ìkópa sí plugin yìí.

Àwọn Olùkópa
  • mohamedelaaouam99

Túmọ̀ “Loqwall 2FA” sí èdè rẹ.

Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

Ṣàwárí koodu, ṣàyẹ̀wò ibi ìpamọ́ SVN, tàbí ṣe àgbékalẹ̀ sí àkọsílẹ̀ ìdàgbàsókè nípasẹ̀ RSS.

Àkọsílẹ̀ àwọn àyípadà

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.

Àkójọpọ̀ Meta

  • Ẹ̀yà 1.0.0
  • Ìgbàgbọ́hùn tó kẹ́yìn oṣù 2 sẹ́yìn
  • Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ Tó kéré sí 10
  • Ẹ̀yà WordPress 6.0 tàbí ju bẹ́ẹ̀ lọ
  • Dánwò dé 7.0.5
  • Ẹ̀yà PHP 8.0 tàbí ju bẹ́ẹ̀ lọ
  • Èdè
    English (US)
  • Àwọn àmì
    2FAauthenticationloginsecuritytwo factor
  • Ìwòye Tó Péye

Àwọn ìbò

Kò sí ìwádìí tí a tíì fi ránṣẹ́.

Your review

Wo gbogbo àwọn àgbéyẹ̀wò

Àwọn Olùkópa

  • mohamedelaaouam99

Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

Wo àpéjọ ìrànlọ́wọ́

  • Nípa Wa
  • Iroyin
  • Hosting
  • Privacy
  • Àfihàn
  • Themes
  • Plugins
  • Patterns
  • Kọ ẹkọ
  • Atilẹyin
  • Developers
  • WordPress.tv ↗
  • Kópa
  • Àwọn ìṣẹ̀lẹ̀
  • Ṣètọrẹ ↗
  • Swag ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Yorùbá

  • Ṣabẹwo sí àkàùntù X (Twitter tẹ́lẹ̀) wa
  • Bẹwo akanti Bluesky wa
  • Lọ sí àkáǹtì Mastodon wa
  • Bẹwo akanti Threads wa
  • Ṣabẹwo si Facebook wa
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Bẹwo akanti TikTok wa
  • Visit our YouTube channel
  • Bẹwo akanti Tumblr wa
Koodu jẹ Ewi.
The WordPress® trademark is the intellectual property of the WordPress Foundation.