Pour une raison que je ne comprends pas, Discourse n’autorise pas les utilisateurs à se connecter ou à gérer des comptes externes déjà connectés (par exemple un compte Discord associé). Le code de Discourse semble utiliser la logique suivante pour déterminer si un utilisateur peut mettre à jour ses comptes associés :
secondFactorEnabled,
canCheckEmails,
isAnonymous
) {
if (secondFactorEnabled || !canCheckEmails || isAnonymous) {
return false;
}
return findAll().length > 0;
Pourquoi secondFactorEnabled est-il une variable prise en compte ici ?
Mes utilisateurs sont très confus car ils se retrouvent dans une situation bizarre. Ils ont créé un compte sur notre site, associé leur compte à un compte Discord afin d’accéder à notre serveur Discord, puis activé l’authentification à deux facteurs (2FA) sur leur compte. Après cela, toute la section « Comptes associés » a disparu de leur page de compte ! Ils ne peuvent plus voir ni gérer leur compte associé tant que le 2FA est activé.
Nous avons un autre utilisateur très confus car il a créé son compte, activé le 2FA et n’a pas pu suivre nos instructions pour ajouter un compte associé, car la section « Comptes associés » ne s’est jamais affichée pour lui dès le départ.
La seule chose que ces deux utilisateurs ont en commun par rapport aux autres utilisateurs sans ce problème, c’est qu’ils ont tous les deux le 2FA activé.
Je souhaite offrir à mes utilisateurs la possibilité d’avoir à la fois le 2FA activé sur leur compte de forum ET de pouvoir associer leur compte à un compte Discord.
Je soumets ce problème dans la catégorie Support, mais je ne suis pas certain qu’il s’agisse réellement d’un Contribute > Bug. Quoi qu’il en soit, il semble qu’il n’existe aucune solution de contournement sans modifications du code de Discourse.