Usuários acessando o perfil errado no Discourse

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.

Alguém já viu isso antes?

1 curtida

Olá Jake,

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.

1 curtida

Oi Angus,

Obrigado por entrar novamente. Parece ser o mesmo.

Como você sabe que os detalhes estão errados?

Porque o e-mail do usuário no perfil do usuário:

E o e-mail do usuário no registro SSO:

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.

1 curtida

Desculpe pela resposta demorada, Jake.

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.