Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Custom MFA (Multi-Factor Authentication) for WordPress

Ce Must-Use Plugin ajoute une couche de sécurité supplémentaire à l'authentification WordPress en proposant un second facteur (MFA) via une application d'authentification (TOTP) ou par Email.

Fonctionnalités

  • Hybride : Supporte Google Authenticator, Authy (TOTP) et l'envoi de codes par Email.
  • Enrôlement Forcé : Option permettant de bloquer l'accès au tableau de bord tant qu'une méthode MFA n'est pas configurée.
  • Architecture Modulaire : Séparation nette entre la logique d'authentification, l'interface utilisateur et les helpers.
  • Sécurité robuste : Utilise la librairie standardisée spomky-labs/otphp.

Structure du Projet

mfa/
├── src/
│   ├── Admin/
│   │   ├── Profile.php       # Gestion des champs dans "Mon Profil"
│   │   └── Settings.php      # Page de réglages globaux (Réglages > MFA Security)
│   ├── Core/
│   │   └── Auth.php          # Hook d'interception du login et vérification
│   └── Helpers/
│       └── Otp.php           # Interface avec la librairie OTPHP
├── custom-mfa.php            # Loader principal (Point d'entrée)
└── README.md

Installation

  1. Dépendances : Assurez-vous d'avoir installé la librairie via Composer à la racine de votre projet (Bedrock) : Bash

    composer require spomky-labs/otphp
    
  2. Déploiement : Placez le dossier mfa et le fichier custom-mfa.php dans votre dossier web/app/mu-plugins/.

  3. Activation : Étant un MU-Plugin, il s'active automatiquement sans intervention dans l'admin.

Configuration

Réglages Globaux

Rendez-vous dans Réglages > MFA Security pour activer l'option "Forcer l'activation" . Si cochée, tout utilisateur sans MFA sera redirigé vers sa page profil dès sa connexion.

Configuration Utilisateur

Chaque utilisateur peut choisir sa méthode dans Utilisateurs > Votre profil :

  • App : Scanner le QR Code avec une application type Google Authenticator.
  • Email : Un code à 6 chiffres sera envoyé à l'adresse de l'utilisateur à chaque tentative de connexion.

Sécurité & Debug

  • Mode Secours : Si un utilisateur est bloqué (perte de téléphone), un administrateur peut réinitialiser sa méthode en base de données ou via WP-CLI : wp usermeta update [ID_USER] _mfa_method none
  • Désactivation d'urgence : Renommez le dossier mu-plugins/mfa en mfa_off pour désactiver instantanément toute la logique de vérification.
  • Synchronisation horaire : Le mode "App" repose sur le temps (TOTP). Assurez-vous que votre serveur est synchronisé via NTP (Network Time Protocol).

Dépendances Externes

  • OTPHP : Librairie PHP pour la génération/vérification des secrets.
  • QRServer API : Utilisé pour la génération dynamique des QR Codes (URL sécurisée HTTPS).

Readme fait avec gemini par manque de temps.

Enjoy

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages