Usuarios de OIDC no se asocian con usuarios existentes de Discourse

Hola. Estoy intentando configurar Discourse con el plugin Discourse OpenID Connect y Keycloak.

He conseguido que funcione y he podido iniciar sesión en mi instancia de Discourse utilizando mis credenciales de Keycloak, así como asociar una cuenta de Discourse ya existente con la de OIDC. Desafortunadamente, cometí un error al configurar el contenedor de Keycloak y terminé perdiendo su configuración y base de datos.

Desde entonces, he reinstalado Keycloak (¡correctamente esta vez!) y he reconfigurado Discourse para usar el nuevo ID de cliente, pero aunque parece que la integración está funcionando (habilitar los registros en /logs muestra que la autenticación realmente funcionó), ya no puedo asociar cuentas de Discourse con cuentas de OIDC.

Cuando intento iniciar sesión en Discourse, uso OIDC, me recibe la nueva interfaz de usuario de la cuenta y luego hago clic en el enlace para asociar con una cuenta ya existente; inicio sesión, soy redirigido a Discourse, y si cierro sesión y vuelvo a iniciarla, veo la misma interfaz de usuario de la nueva cuenta.

Utilicé el Data Explorer plugin para ver las asociaciones, y mi usuario aparece como NULL; sin embargo, el ID del proveedor coincide con el ID de usuario en Keycloak.

Tengo activada la opción “OpenID Connect allow association change”.

Imagino que Discourse todavía está reteniendo lo que sea que había de mi instalación anterior de Keycloak, y simplemente cambiar el nuevo ID de cliente no es suficiente.

¿Hay algo más que deba revisar y que pueda haber pasado por alto?

Saludos.

1 me gusta

¿Estás usando la misma dirección de correo electrónico entre las cuentas? ¿Puedes reproducir este problema con una cuenta nueva que no estuviera asociada previamente con Keycloak?

1 me gusta

¡Gracias por la rápida respuesta!

No estaba usando la misma dirección de correo electrónico entre las cuentas, pero la he cambiado en Keycloak para que coincida con la utilizada en Discourse, y sigue siendo la misma. La respuesta en Data Explorer es la misma (“NULL” user).

Intenté crear un usuario nuevo y fresco, y estoy recibiendo un error de “Nombre de usuario, correo electrónico o contraseña no válidos”, a pesar de que el nombre de usuario está perfectamente bien y disponible, el correo electrónico es válido y la contraseña ha sido generada por mi gestor de contraseñas. Esto es muy probablemente no relacionado, pero es otra cosa que necesito averiguar por qué está sucediendo.

1 me gusta