Récemment, nous avons constaté 16 cas où des utilisateurs de WordPress ont été associés au mauvais compte dans Discourse.
Lorsque vous accédez au profil utilisateur en tant qu’administrateur, vous pouvez constater que l’enregistrement SSO contient les informations du mauvais utilisateur. Si vous supprimez cet enregistrement, la prochaine fois que l’utilisateur se connecte via WordPress, il accédera au bon profil utilisateur dans Discourse.
Cela semble lié à ton problème précédent, que nous n’avions pas pu résoudre complètement auparavant :
Il y avait probablement une différence entre l’adresse e-mail dans les détails SSO et celle utilisée pour la connexion dans ce cas.
Le problème lui-même pourrait être le même que celui suggéré dans ce cas :
Je soupçonne que le problème vient du fait que require_activation est défini sur true dans la charge utile SSO.
Comment savez-vous que les informations sont incorrectes ? Je ne vous mets pas en doute, j’essaie simplement de déterminer d’où pourrait venir le problème. Vous pouvez m’envoyer les détails par message privé si vous préférez ne pas les partager publiquement.
n’étaient pas identiques pour les utilisateurs concernés. L’ID et l’e-mail de l’utilisateur correspondaient à la personne qui se connectait, mais étaient liés au mauvais profil.
Une cause possible est que, dans certains cas, une seule adresse e-mail est associée à plusieurs comptes utilisateurs sur votre instance WordPress. Pensez-vous que cela soit possible ?
Par exemple, avez-vous mis en place à un moment donné un processus d’inscription personnalisé sur WordPress (qui ne nécessitait pas de confirmation de l’e-mail avant la connexion) ou effectué une importation d’utilisateurs vers WordPress à un moment quelconque ?
S’agit-il d’un problème persistant ou est-il limité à un sous-ensemble d’utilisateurs ? Ces comptes utilisateurs sont-ils anciens ou récents ?
Pas de souci, Angus ! Je ne m’attends pas à ce que tu y consignes de l’attention !
Les comptes utilisateurs sont créés lors d’un achat sur WooCommerce. Woo était auparavant sur un sous-site, mais les sites ont été fusionnés. Les deux sites partageaient une même table d’utilisateurs, donc les identifiants devraient, du moins en théorie, être restés constants.
L’accès au site était, avant mon arrivée, géré par MemberMouse. Depuis lors – il y a environ 5 ans – l’accès est contrôlé par iMember360, et récemment remplacé par Memberium. Ces deux plugins sont essentiellement identiques : ils s’intègrent à un CRM appelé Infusionsoft et permettent d’accéder à diverses pages en fonction des données issues du CRM.
Le fonctionnement de ces plugins exige une adresse e-mail unique, il est donc impossible qu’une même adresse e-mail soit utilisée pour plusieurs utilisateurs.
C’est un problème récurrent, mais qui semble limité à un très petit nombre d’utilisateurs. Cela est arrivé à deux « anciens » utilisateurs, et récemment à un compte âgé de 5 jours, donc ce n’est pas un problème réservé aux nouveaux utilisateurs uniquement.
Celui-ci est délicat. J’ai quelques hypothèses sur la manière dont require_activation pourrait être défini à true dans votre configuration, ce qui provoquerait ensuite ce problème, mais il y a plusieurs (hypothèses) parmi lesquelles choisir.
Je termine actuellement une nouvelle suite de tests pour le plugin WP Discourse et j’ajoute des journaux d’événements à la fonctionnalité SSO. Je mets au point un journal d’événements supplémentaire qui devrait identifier la cause de ce problème. Ce travail sera intégré au plugin dans le mois à venir, nous devrions donc avoir une réponse plus précise sous peu.