Temos uma instância do Discourse em execução que parou de registrar usuários que ainda não possuem uma conta e estamos perplexos com o motivo! Isso começou há algumas semanas, depois que instalamos o plugin Discourse AI e reiniciamos a instância. Isso só chegou até mim depois de reclamações de clientes nos últimos dias. Geralmente temos muitas inscrições todos os dias.
A Configuração
- Discourse auto-hospedado via Docker oficial
- https://community.enginedj.com
- Plugin OIDC usando nosso próprio Provedor OIDC (
1) - Nenhuma outra autenticação além do OIDC (ou seja, sem registro de e-mail + senha) (
2) - Última nova inscrição bem-sucedida foi em 22 de novembro de 2023, 5h23 NZDT
- O plugin AI foi instalado por volta de 22 de novembro de 2023, 6h03 NZDT (isso teria causado a reinicialização da instância do Discourse)
- Nenhum log de eventos para alterações de configuração do sistema desde outubro e nada relevante para autenticação desde março (
3) - Muita atividade no fórum, nenhum problema com espaço em disco / banco de dados etc.
O Problema
- O fluxo de login funciona corretamente, mas após o retorno, os usuários sem conta preexistente não são logados.
- Nenhuma mensagem de erro é exibida.
- Nenhuma mensagem de erro nos logs (temos alguns erros de CSRF nos logs, mas eles não estão correlacionados com os logins falhados).
- O log detalhado para o plugin OIDC mostra que ele consulta corretamente os dados do provedor OIDC, obtém claims etc. e não mostra problemas (
4).
O que tentamos
- Desativamos o plugin Discourse AI
- Removemos o plugin Discourse AI
- Verificamos as respostas de cookies em busca de domínios incompatíveis
- Atualizamos todos os plugins / componentes para a versão mais recente (
5) - Confirmamos que nenhuma configuração foi ajustada
- Investigamos os logs no host. Nada se destaca.
Aqui está um vídeo do problema. O primeiro login é para um usuário sem conta Discourse existente. O segundo é com meu usuário administrador.
https://www.loom.com/share/3aad210d844849dc8154ce6e5db50d29
Alguma ideia sobre o que devemos procurar a seguir?
1
2
3
4
5






