Usuários OIDC não associando com usuários Discourse existentes

Olá! Estou tentando configurar o Discourse com o plugin Discourse OpenID Connect e o Keycloak.

Consegui fazer funcionar e pude não apenas fazer login na minha instância do Discourse usando minhas credenciais do Keycloak, mas também associar uma conta Discourse já existente com a do OIDC. Infelizmente, cometi um erro ao configurar o contêiner do Keycloak e acabei perdendo sua configuração e banco de dados.

Desde então, reinstalei o Keycloak (corretamente desta vez!) e reconfigurei o Discourse para usar o novo Client ID, mas embora a integração pareça estar funcionando (habilitar os logs em /logs mostra que a autenticação realmente funcionou), não consigo mais associar contas do Discourse com contas OIDC.

Quando tento fazer login no Discourse, uso o OIDC, sou recebido pela nova interface de conta e, em seguida, clico no link para associar a uma conta já existente; faço login, sou redirecionado para o Discourse e, se fizer logout e login novamente, vejo a mesma nova interface de conta.

Usei o Data Explorer plugin para verificar as associações, e meu usuário aparece como NULL; o ID do provedor corresponde ao User ID no Keycloak, no entanto.

Tenho a opção “OpenID Connect allow association change” ativada.

Imagino que o Discourse ainda esteja retendo o que quer que estivesse lá da minha instalação anterior do Keycloak, e apenas mudar o novo Client ID não está resolvendo.

Há algo mais que eu deva verificar e que possa ter deixado passar?

Abraços

1 curtida

Você está usando o mesmo endereço de e-mail entre as contas? Você consegue reproduzir este problema com uma conta nova que não estava associada ao Keycloak antes?

1 curtida

Obrigado pela resposta rápida!

Eu não estava usando o mesmo endereço de e-mail entre as contas, mas o alterei no Keycloak para corresponder ao usado no Discourse, e ainda é o mesmo. A resposta no Data Explorer é a mesma (“NULL” user).

Tentei criar um novo usuário, e estou recebendo um erro de “Nome de usuário, e-mail ou senha inválidos”, embora o nome de usuário esteja perfeitamente bom e disponível, o e-mail seja válido e a senha tenha sido gerada pelo meu gerenciador de senhas. Isso provavelmente não está relacionado, mas é outra coisa que preciso descobrir por que está acontecendo.

1 curtida