Erro de login

Já vimos esse erro antes, fiz uma busca em nosso sistema de chamados.

Isso acontece quando você tem

  • require activation definido como true
  • 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 activation como false.
    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.

7 curtidas