O erro nos logs do Discourse parece estar relacionado a outro usuário (observe o atributo name).
Quanto ao usuário que não consegue fazer login, suspeito que o problema seja o fato de require_activation estar definido como true no payload do SSO. Isso faz com que o Discourse tente criar um novo usuário em vez de procurar um existente. Como a conta dele já existe, o erro é gerado.
Pode haver algumas razões pelas quais require_activation está verdadeiro para um usuário existente; no entanto, você poderia ir ao perfil do usuário no WordPress, marcar esta caixa e clicar em “Atualizar Perfil”?
Em seguida, peça a ele para tentar fazer login novamente.
(Estou assumindo aqui que você não tem nenhum código personalizado no seu WordPress que utilize o filtro discourse_email_verification)
P.S.: Recomendo ocultar os endereços de e-mail nas capturas de tela (privacidade de dados, etc.).
Primeiro, sobre o endereço de e-mail: Johnathan é um amigo meu. O e-mail dele está visível no site dele e ele não se importa nem um pouco com privacidade. Caso contrário, eu o teria ocultado.
Verifiquei o e-mail verificado no perfil dele e já estava marcado.
Desmarquei isso:
E isso parece ter resolvido o problema.
Não, não há código personalizado usando o filtro discourse_email_verification.
O problema ocorreu com outro usuário hoje, então ainda gostaria de entender a causa, já que preferimos que os usuários não possam alterar o endereço de e-mail no Discourse.