web-dev-qa-db-fra.com

Meilleure façon d'activer l'authentification en deux étapes

Je cherche un peu de conseils sur la configuration d’un système d’authentification en deux étapes dans WordPress. J'ai examiné quelques-uns des plugins principaux et ils semblent tomber dans deux camps:

  • Ajouter un champ supplémentaire au formulaire de connexion
  • Ajouter un autre cookie d'authentification en plus du cookie standard WP

Je n'aime pas vraiment l'interface utilisateur d'un champ de connexion supplémentaire et je ne me sens pas suffisamment informé pour configurer un système d'authentification basé sur les cookies suffisamment sécurisé pour en valoir la peine. Y a-t-il une troisième option qui me manque?

Note: J'ai vu cette publication similaire , mais elle consistait principalement en recommandations de plugins, et j'aimerais écrire quelque chose moi-même si possible.

Mise à jour: Étant donné que mon site ne compte que quelques utilisateurs privilégiés, j'ai décidé d'ajouter un argument de chaîne de requête qui, le cas échéant, entraînerait l'affichage du champ de connexion supplémentaire. De cette façon, les utilisateurs normaux ne voient jamais le champ supplémentaire et je n'ai pas à m'inquiéter de la gestion d'un cookie d'authentification supplémentaire.

2
Dominic P

Crois-moi, ne fais pas ça. La cryptographie n'est pas pour les faibles de cœur.

Utilisez le plugin Google Authenticator. C'est génial.

2
Otto

J'ai réfléchi à une solution simple et voici les quelques idées qui me sont venues à l'esprit:

Protégez le mot de passe wp-login.php. Deux mots de passe, deux étapes.

Voulez-vous compliquer un peu les choses? Utilisez un mot de passe aléatoire pour protéger wp-login.php et créez une autre page sur laquelle vous allez définir un mot de passe temporaire. Vous pouvez également envoyer le mot de passe temporaire par courrier électronique au serveur.

Ou, si vous souhaitez que le serveur définisse le mot de passe et vous l'envoie, vous pouvez essayer ceci: Créez un fichier wp-login2.php qui vous envoie le mot de passe wp-login.php par e-mail. Faites le script changer le mot de passe à un aléatoire après 5-10-15 minutes.

C'est un moyen très simple et vous n'avez pas à vous soucier du code ni des hooks WP. Si vous voulez vous accrocher, vous pouvez certainement créer des méthodes d’authentification plus complexes.

1
Alex Dumitru