Être administrateur sur un site Discourse à jour, avec une ou plusieurs clés d’authentification à deux facteurs activées, telles que des clés de sécurité ou une application d’authentification.
Pouvoir se connecter et se déconnecter correctement avec ces clés d’authentification à deux facteurs.
S’assurer que le paramètre du site imposant la connexion à deux facteurs est réglé sur « non ».
Supprimer tous les éléments d’authentification à deux facteurs de votre compte (administrateur) en utilisant les outils d’interface standard dans l’onglet Sécurité des préférences du profil utilisateur de l’administrateur.
Se déconnecter.
Comportement attendu
Se connecter au site avec un nom d’utilisateur ou un mot de passe ; accès accordé ; ou
Se connecter au site avec « m’envoyer un lien par e-mail » ; accès accordé.
Comportement réel
Les deux scénarios « attendus » échouent avec un message d’erreur, et la connexion n’est pas autorisée :
La méthode d’authentification à deux facteurs sélectionnée n’est pas activée pour votre compte.
Il n’existe aucun autre moyen de se connecter avec le compte de l’administrateur.
Il est à noter que je ne suis pas réellement exclu du site en question ; j’avais encore une session active sur un autre ordinateur et j’ai pu basculer vers cette session pour réajouter un authentificateur basé sur un jeton afin de récupérer l’accès. Cependant, si je n’avais pas eu une autre session, j’aurais été « totalement » exclu.
Merci d’avoir signalé ce problème. Je l’ai mis en favoris depuis quelques jours, mais je n’ai pas encore eu le temps de le tester. Je suppose que votre signalement est exact, mais je l’examinerai de plus près la semaine prochaine.
Je suppose que c’est le bug ? Nous ne devrions pas permettre cela si le paramètre de votre site indique que tous les administrateurs doivent avoir la 2FA activée.
Je pense que vous n’êtes pas complètement verrouillé ; vous pouvez utiliser la console pour récupérer maintenant, mais nous ne devrions pas vous faciliter la création d’une situation pathologique.
Je ne suis pas tout à fait sûr que ce soit la bonne logique ? Je n’avais pas activé l’application du second facteur pour autre chose que la valeur par défaut « non », et il n’est pas vraiment sûr de supposer que chaque installation possède plus d’un compte administrateur. Il semble que, une fois les clés 2FA supprimées du profil, un autre indicateur n’est pas supprimé quelque part…
Je pense que vous n’êtes pas complètement verrouillé, vous pouvez utiliser la console pour récupérer maintenant.
Je suppose que c’est une solution de contournement d’urgence valable, bien qu’elle puisse dépasser les compétences d’un administrateur qui ne gère pas également son serveur, et ils pourraient devoir trouver un administrateur système.
@Osama pendant que vous êtes dans le code, peut-être :
SI l’utilisateur ne sera pas autorisé à se reconnecter après avoir supprimé cette 2FA (dernière 2FA qu’il possède et 2FA requise pour le compte selon les paramètres de niveau de confiance / paramètres d’administration)
ALORS ne pas lui permettre de supprimer la dernière 2FA et afficher une erreur.
Je pense avoir été touché par le même bug (Discourse version 2.7.10, mis à jour aujourd’hui).
J’ai obtenu les droits d’administrateur et activé la 2FA. Plus tard, j’ai créé un second utilisateur pour moi-même à partir d’un autre e-mail, à utiliser uniquement pour l’administration, et j’ai accordé à celui-ci les droits d’administrateur.
Ensuite, j’ai retiré les droits d’administrateur de mon utilisateur d’origine et supprimé toutes les méthodes 2FA. Maintenant, mon utilisateur d’origine rencontre le comportement d’erreur mentionné par l’OP.
Je n’ai pas d’accès à la console de ce serveur. Le site n’impose pas la 2FA pour les administrateurs.
Quelqu’un pourrait-il détailler exactement ce qui doit être fait à la console pour résoudre ce problème.
Au fait, les raisons pour lesquelles j’ai fait cela sont que je veux être soumis aux permissions et notifications normales (ou non) pour les groupes privés sur le site via mon utilisateur normal, peut-être avec le mode liste de diffusion activé. Je n’ai pas besoin de la friction supplémentaire de la 2FA en tant qu’utilisateur ordinaire.
Bien sûr, l’utilisateur administrateur peut tout voir, donc c’est basé sur la confiance qu’il ne fouine pas inutilement. Cet utilisateur peut désactiver toutes les notifications et ne pas activer le mode liste de diffusion.
@sam Vous dites de manière alléchante que ce problème peut être résolu via la console, sans dire ce qui doit être fait spécifiquement. J’apprécierais vraiment un indice sur la façon de résoudre ce problème particulier.
Je ne pense pas, car le compte a déjà la 2FA désactivée, ou pour être plus précis, a supprimé toutes les méthodes 2FA de son compte (la 2FA est indiquée comme « non » dans le profil), mais la connexion essaie toujours d’utiliser la 2FA.
Ce guide s’adresse à un utilisateur qui a activé la 2FA mais a perdu/oublié son moyen de générer un jeton valide.
SOLUTION : En tant qu’utilisateur admin, visitez la page de détails de l’utilisateur bloqué, faites défiler tout en bas et cliquez sur le bouton rouge Impersonate.
Ensuite, dans les préférences de l’utilisateur, ajoutez une méthode 2FA. (vous devez avoir le mot de passe de l’utilisateur pour ce faire)
Le secret 2FA doit être donné à l’utilisateur bloqué.
Dans ce cas, je suis les deux utilisateurs, donc ce n’est pas une tâche difficile
La suppression de la 2FA en appuyant sur le bouton « Tout désactiver » se comporte-t-elle différemment de la suppression de la dernière méthode 2FA ? C’est-à-dire, cela la supprime-t-il sans vous bloquer ?
J’ai pu reproduire ce problème et trouver une solution en utilisant la console.
La reproduction est légèrement différente de la description dans le premier message. L’étape 2 est cruciale, les étapes 3 et 4 sont moins importantes.
Soyez un utilisateur administrateur sur un site Discourse à jour avec une ou plusieurs clés de double authentification activées, telles que des clés de sécurité et une application d’authentification.
Activez les codes de sauvegarde
Soyez capable de vous connecter et de vous déconnecter avec succès avec ces clés de double authentification.
Assurez-vous que le paramètre du site pour forcer les connexions en double authentification est défini sur « non ».
Supprimez tous les éléments de double authentification (authentificateurs et clés de sécurité) de votre compte administrateur en utilisant les outils d’interface utilisateur standard dans l’onglet Sécurité des préférences du profil utilisateur administrateur.
Déconnectez-vous.
Ce qui se passe, c’est que si tous les éléments de double authentification ont été supprimés, les codes de sauvegarde sont toujours présents dans la base de données, et la double authentification n’est pas considérée comme désactivée lors de la connexion.
Comme il n’y a plus d’authentificateur ni de clé de sécurité, l’utilisateur ne peut pas utiliser les codes de sauvegarde.
Une fois que tous les authentificateurs et clés ont été supprimés, les codes de sauvegarde ne peuvent même plus être supprimés dans le Profil - Sécurité.
Correction proposée : Lorsque le dernier élément de sécurité est supprimé de l’utilisateur, les codes de sauvegarde doivent également être supprimés.
Solution de contournement : supprimez tous les enregistrements UserSecondFactor pour cet utilisateur de la base de données.
Est-il possible qu’une correction soit implémentée pour cela dans une nouvelle version de Discourse ? Cela m’est arrivé exactement aujourd’hui et ce fut une corvée de récupérer mon compte.
J’ai le même problème avec un utilisateur qui se plaint de ne pas pouvoir se connecter. Cet utilisateur avait activé l’authentification à deux facteurs (2FA) sur son compte à un moment donné, mais l’a ensuite supprimée. Le message d’erreur qu’il reçoit lorsqu’il essaie de se connecter est :
La méthode d’authentification à deux facteurs sélectionnée n’est pas activée pour votre compte.
Depuis le menu administrateur, je vois que le profil de l’utilisateur indique « Authentification à deux facteurs » comme « Non ».
Comme il est mal vu de demander le mot de passe de l’utilisateur, j’ai essayé de changer son e-mail, ou d’ajouter un e-mail secondaire que je contrôle. Cependant, après avoir cliqué sur « Confirmer » sur l’URL de l’e-mail de confirmation, j’obtiens cette erreur :
La méthode d’authentification à deux facteurs sélectionnée est invalide.
… et l’e-mail n’est pas modifié/ajouté.
Je n’ai pas accès à la console ou à la base de données pour cette installation Discord car elle est « gérée ».
Y a-t-il autre chose que je puisse essayer ? Ou l’utilisateur est-il bloqué hors de son compte pour toujours ?
Je n’ai pas accès à la console discourse, car il s’agit d’une instance discourse « hébergée ».
Les administrateurs doivent pouvoir effacer l’authentification à deux facteurs (2FA) depuis l’interface d’administration. Il est extrêmement peu professionnel de devoir demander à nos utilisateurs leurs mots de passe.
C’est clairement un bug majeur qui doit être résolu. Comment pouvons-nous signaler formellement cela et suivre sa résolution ?
En tant que projet OpenSource avec une instance discourse hébergée, je ne peux pas accéder à la console ou à la base de données, je n’ai que l’interface d’administration.
En fait, je ne suis pas d’accord. Lorsque la 2FA est désactivée, les codes de sauvegarde de la 2FA doivent être complètement ignorés et ne pas avoir d’importance du tout.
En corrigeant cela au mauvais endroit (lorsque la dernière méthode de 2FA est supprimée, supprimer les codes de sauvegarde), nous avons toujours des personnes qui ne peuvent pas se connecter et qui ont simplement abandonné sans signaler.
En corrigeant le bug réel (en tenant compte des codes de sauvegarde lorsque la 2FA est désactivée), nous corrigeons cela pour 100 % des utilisateurs concernés, immédiatement, au lieu de simplement nous assurer que cela n’arrive pas continuellement à de nouveaux utilisateurs.
Cela a fonctionné pour moi, l’utilisateur m’a donné le mot de passe.
Vous ne devez pas désactiver la 2FA directement, vous devez d’abord :
supprimer tous les codes de sauvegarde 2FA
vérifier trois fois que tous les codes de sauvegarde 2FA sont supprimés
ce n’est qu’ensuite que vous pouvez désactiver la 2FA
En utilisant cette méthode, vous êtes en mesure de désactiver la 2FA. Ceci est vrai à la fois pour les utilisateurs admin qui usurpent l’identité d’utilisateurs pour résoudre ce problème, mais c’est aussi vrai pour tout utilisateur normal qui souhaite simplement désactiver la 2FA.