Já vimos esse erro antes, fiz uma busca em nosso sistema de chamados.
Isso acontece quando você tem
require activationdefinido comotrue- um usuário U1 no Discourse com um endereço de e-mail específico, possivelmente com ID externo A.
- um usuário U2 no lado do provedor DiscourseConnect com o mesmo endereço de e-mail e um ID externo diferente (B)
O usuário faz login, o Discourse verifica se existe um usuário com o ID externo B, ele não existe.
Normalmente, o Discourse fará uma correspondência por e-mail como próximo passo, mas como require activation está definido, o endereço de e-mail não é confiável e ele pula essa etapa e não associará ao usuário U1, pois permitiria o sequestro de conta.
Portanto, o Discourse decide criar um novo usuário. Isso falha porque o usuário U1 já existe com esse endereço de e-mail.
Seria bom se houvesse um erro melhor caso o e-mail exista, mas não seja confiável. Também não tenho certeza por que ele mostra um erro genérico do Rails.
Resoluções:
- se seus endereços de e-mail no lado do provedor DiscourseConnect forem verificados e puderem ser confiáveis, defina
require activationcomofalse.
ou - altere o ID externo do usuário U1 para B
ou - altere o endereço de e-mail do usuário U1 para outra coisa
Adicionando o texto “a alteração que você queria foi rejeitada” para que este tópico seja encontrado quando alguém pesquisar por este erro.