Impossible de désactiver la 2FA pour l'utilisateur

Nous avons un utilisateur avec la 2FA activée, et nous ne parvenons pas à la désactiver pour lui.

Lorsque nous cliquons sur le bouton « Désactiver » dans son compte, nous obtenons :


(Des paramètres invalides ont été fournis à la requête : Discourse::InvalidParameters)

Il n’existe aucune ligne dans la table users_second_factors pour cet user_id. J’ai essayé d’ajouter une ligne factice, ce qui me permet de cliquer sur le bouton « Désactiver » sans erreur, mais cela supprime simplement ma ligne factice et laisse toujours la 2FA activée pour l’utilisateur.

J’ai également essayé la tâche Rake rake users:disable_2fa[username], qui indique que la 2FA a été désactivée pour l’utilisateur, mais le profil de l’utilisateur dans l’administration affiche toujours « Authentification à deux facteurs : Oui ».

Y a-t-il autre chose que je puisse essayer ?

Essayez via la console Rails :

Il serait également utile de connaître la version de Discourse que vous exécutez. Des correctifs ont été apportés depuis la première version de l’authentification à deux facteurs (2FA) pour résoudre l’impossibilité de désactiver la 2FA via l’interface utilisateur.

Merci @omarfilip .. J’ai supprimé l’enregistrement UserSecondFactor, mais je ne connaissais pas UserSecurityKey.

Cet utilisateur n’avait pas d’enregistrement UserSecondFactor, mais il avait un enregistrement UserSecurityKey.

Une fois celui-ci supprimé, son profil affiche « Authentification à deux facteurs : Non » — merci !

@jomaxro Nous sommes sur la version 2.5.0.beta4 ( 8d3900c6da )

Il semble qu’il y ait toujours un problème : je devrais pouvoir effectuer cette action via l’interface utilisateur, mais je rencontre l’erreur « paramètres invalides », peut-être en raison de l’absence d’enregistrement UserSecondFactor ?

Cette version est ancienne et non prise en charge ; mettez-la à jour dès que possible.

Outre le fait qu’il est ancien et non pris en charge, vous manquez également de plus d’une douzaine de correctifs de sécurité, ce qui rend votre site vulnérable. Veuillez procéder à la mise à niveau.