Recentemente, tivemos 16 casos de usuários do WordPress associados ao usuário errado no Discourse.
Ao acessar o perfil do usuário como administrador, é possível ver que o registro SSO contém os dados do usuário incorreto. Exclua o registro e, na próxima vez que o usuário fizer login pelo WordPress, ele terá acesso ao perfil de usuário correto no Discourse.
Parece que isso está relacionado ao seu problema anterior, que não conseguimos resolver completamente antes.
Provavelmente havia alguma diferença entre o e-mail nos detalhes do SSO e o e-mail no login naquele caso.
O problema em si pode ser o mesmo que aquele caso sugeriu:
Suspeito que o problema seja que require_activation está definido como true no payload do SSO.
Como você sabe que os detalhes estão errados? Não estou duvidando de você, apenas tentando identificar de onde o problema pode estar vindo. Você pode me enviar os detalhes por mensagem privada se preferir não compartilhar publicamente.
Não eram os mesmos para os usuários que migraram. O ID do usuário e o e-mail eram da pessoa que estava fazendo login, mas estavam conectados ao perfil errado.
Uma possível causa aqui é que, em alguns casos, um único e-mail está associado a várias contas de usuário na sua instância do WordPress. Você acha que isso é possível?
Por exemplo, você já teve um processo de registro de usuários personalizado no WordPress (aquele que não exigia que o usuário confirmasse o e-mail antes de fazer login) ou fez alguma importação de usuários para o WordPress em algum momento?
Esse é um problema contínuo ou está limitado a um subconjunto de usuários? Essas contas de usuário são antigas ou novas?
Sem problemas, Angus! Não tenho nenhuma expectativa quanto à sua atenção!
As contas de usuário são criadas por meio de uma compra realizada no WooCommerce. O Woo costumava estar em um subsite, mas os sites foram mesclados. Os dois sites compartilhavam uma tabela de usuários, então os IDs deveriam, pelo menos em teoria, ter permanecido constantes.
O acesso ao site era controlado, antes do meu tempo, pelo MemberMouse. Desde então — há cerca de 5 anos — o acesso tem sido controlado pelo iMember360 e, recentemente, substituído pelo Memberium. Ambos são plugins essencialmente idênticos que se integram a um CRM chamado InfusionSoft e permitem o acesso a várias páginas com base em dados do CRM.
O funcionamento desses plugins exige um endereço de e-mail exclusivo, tornando impossível que o mesmo e-mail seja usado em múltiplos usuários.
É um problema contínuo, mas parece estar limitado a um número muito pequeno de usuários. Isso aconteceu com dois usuários ‘antigos’ e, recentemente, com uma conta de 5 dias de idade, portanto, não é um problema apenas para novos usuários.
Esta é uma questão delicada. Tenho algumas teorias sobre como o require_activation pode estar sendo definido como true na sua configuração e, consequentemente, causando esse problema, mas há algumas (teorias) para escolher.
Atualmente, estou finalizando uma nova suíte de testes para o plugin WP Discourse e adicionando logs à funcionalidade SSO. Estou escrevendo alguns logs adicionais que devem identificar a causa disso. Esse trabalho será incluído no plugin no próximo mês, então deveremos ter uma resposta mais clara em breve.