Utilisateurs OIDC ne s'associant pas aux utilisateurs Discourse existants

Salut ! J’essaie de configurer Discourse avec le plugin Discourse OpenID Connect et Keycloak.

J’ai réussi à le faire fonctionner, et j’ai pu non seulement me connecter à mon instance Discourse en utilisant mes identifiants Keycloak, mais aussi associer un compte Discourse déjà existant à celui de l’OIDC. Malheureusement, j’ai fait une erreur lors de la configuration du conteneur Keycloak et j’ai fini par perdre sa configuration et sa base de données.

J’ai depuis réinstallé Keycloak (correctement cette fois !) et reconfiguré Discourse pour utiliser le nouvel ID client, mais bien que l’intégration semble fonctionner (l’activation des logs dans /logs montre que l’authentification a bien fonctionné), je n’arrive plus à associer les comptes Discourse aux comptes OIDC.

Lorsque j’essaie de me connecter à Discourse, j’utilise l’OIDC, je suis accueilli par la nouvelle interface utilisateur du compte, puis je clique sur le lien pour associer un compte existant ; je me connecte, je suis redirigé vers Discourse, et si je me déconnecte et me reconnecte, je vois la même nouvelle interface utilisateur du compte.

J’ai utilisé le plugin Data Explorer pour examiner les associations, et mon utilisateur apparaît comme NULL ; l’ID du fournisseur correspond cependant à l’ID utilisateur dans Keycloak.

J’ai activé l’option « OpenID Connect allow association change ».

J’imagine que Discourse s’accroche encore à ce qui était là de ma précédente installation Keycloak, et que le simple changement du nouvel ID client ne suffit pas.

Y a-t-il autre chose que je devrais examiner et que j’aurais pu négliger ?

Cordialement

1 « J'aime »

Utilisez-vous la même adresse e-mail entre les comptes ? Pouvez-vous reproduire ce problème avec un nouveau compte qui n’était pas associé à Keycloak auparavant ?

1 « J'aime »

Merci pour votre réponse rapide !

Je n’utilisais pas la même adresse e-mail entre les comptes, mais je l’ai changée sur Keycloak pour qu’elle corresponde à celle utilisée dans Discourse, et c’est toujours la même chose. La réponse dans Data Explorer est la même (“NULL” user).

J’ai essayé de créer un nouvel utilisateur vierge, et j’obtiens une erreur “Nom d’utilisateur, e-mail ou mot de passe invalide”, même si le nom d’utilisateur est parfaitement correct et disponible, l’e-mail est valide et le mot de passe a été généré par mon gestionnaire de mots de passe. C’est très probablement sans rapport, mais c’est autre chose que je dois comprendre pourquoi cela se produit.

1 « J'aime »