Position actuelle: Accueil> Derniers articles> Tutoriel complet sur la mise en œuvre de la vérification de Google Authenticatrice à deux facteurs en PHP

Tutoriel complet sur la mise en œuvre de la vérification de Google Authenticatrice à deux facteurs en PHP

gitbox 2025-06-27

Qu'est-ce que Google Authenticator?

Google Authenticator est un outil d'authentification à deux facteurs lancé par Google qui fournit une couche de sécurité supplémentaire pour les comptes en générant des codes de vérification unique (OTP). Lors de la connexion, les utilisateurs ont non seulement besoin de saisir leur nom d'utilisateur et leur mot de passe, mais doivent également saisir un code de vérification dynamique généré par les appareils mobiles, réduisant efficacement le risque de vol de compte.

Ce mécanisme de mot de passe unique basé sur le temps (TOTP) actualisera automatiquement le code de vérification dans un intervalle de temps fixe, ce qui rend difficile la réutilisation des attaquants même s'ils volent le code de vérification.

Comment intégrer Google Authenticator dans PHP

Afin d'implémenter la fonction d'authentification basée sur Google Authenticator dans PHP, il est nécessaire de s'appuyer sur la bibliothèque tierce correspondante. Voici les étapes de mise en œuvre spécifiques:

Installez la bibliothèque Google Authenticator

Tout d'abord, installez les dépendances liées à Google Authenticator via Composer. Ajoutez le contenu suivant au fichier composer.json du projet et exécutez la commande d'installation:

 
"require": {
    "google/authenticator": "^1.0"
}

Une fois l'installation terminée, la bibliothèque peut être introduite dans le code à utiliser.

Générer une clé utilisateur

La génération d'une clé unique pour chaque utilisateur est la clé pour atteindre l'authentification à deux facteurs. Les méthodes de la bibliothèque peuvent être utilisées comme suit:

 
use Google\Authenticator\GoogleAuthenticator;

$ga = new GoogleAuthenticator();
$secret = $ga->generateSecret();

Le code ci-dessus crée une clé de sécurité via la méthode GeneraSeCret () , qui sera utilisée pour générer et vérifier les codes de vérification uniques à l'avenir.

Générer du code QR pour la liaison

Afin de faciliter les utilisateurs de lier leurs clés à leur téléphone mobile, un lien de code QR peut être généré et les utilisateurs peuvent scanner la liaison via Google Authenticator:

 
$qrCodeUrl = $ga->getQRCodeUrl('My Website', $secret);

L'URL générée peut être utilisée dans l'outil de génération de code QR, qui s'affiche sur une page Web pour que les utilisateurs numérisent le code à lier. Le premier paramètre est le nom de l'application et le deuxième paramètre est la clé utilisateur.

Vérifiez le code de vérification entré par l'utilisateur

Lorsqu'un utilisateur se connecte ou effectue des opérations sensibles, il est nécessaire de vérifier que le code de vérification qu'il a entré est valide:

 
$isValid = $ga->checkCode($secret, $userInputCode);
if ($isValid) {
    // La vérification est réussie,Permettre l'accès
} else {
    // Échec de la vérification,Accès refusé
}

Passez simplement la touche utilisateur et le code de vérification entré dans la méthode CheckCode () pour terminer la vérification. Renvoie vrai si la vérification est passée, sinon retournez false.

Résumer

Integrated Google Authenticator fournit un mécanisme d'authentification à deux facteurs efficace pour les applications PHP. En générant une clé unique pour les utilisateurs, en affichant des codes de vérification dynamique du code QR, la sécurité du compte peut être considérablement améliorée. Cette méthode est simple et fiable et convient à divers projets PHP qui nécessitent une meilleure sécurité de connexion.