Utenti OIDC non associati a utenti Discourse esistenti

Ciao! Sto cercando di configurare Discourse con il plugin Discourse OpenID Connect e Keycloak.

Sono riuscito a farlo funzionare e sono stato in grado non solo di accedere alla mia istanza Discourse utilizzando le mie credenziali Keycloak, ma anche di associare un account Discourse già esistente a quello di OIDC. Sfortunatamente, ho commesso un errore durante la configurazione del container Keycloak e ho finito per perdere la sua configurazione e il suo database.

Da allora ho reinstallato Keycloak (questa volta correttamente!) e riconfigurato Discourse per utilizzare il nuovo Client ID, ma mentre sembra che l’integrazione funzioni (abilitando i log in /logs si vede che l’autenticazione è effettivamente avvenuta), non riesco più ad associare gli account Discourse agli account OIDC.

Quando provo ad accedere a Discourse, uso OIDC, vengo accolto dalla nuova interfaccia utente dell’account e poi clicco sul link per associare un account già esistente; accedo, vengo reindirizzato a Discourse, e se mi disconnetto e accedo di nuovo, vedo la stessa nuova interfaccia utente dell’account.

Ho utilizzato il plugin Data Explorer per esaminare le associazioni, e il mio utente risulta NULL; l’ID del provider corrisponde all’User ID in Keycloak, tuttavia.

Ho attivato l’opzione “OpenID Connect allow association change”.

Immagino che Discourse stia ancora aggrappandosi a ciò che c’era dalla mia precedente installazione di Keycloak, e cambiare solo il nuovo Client ID non sia sufficiente.

C’è qualcos’altro che dovrei controllare e che potrei aver trascurato?

Saluti

1 Mi Piace

Stai usando lo stesso indirizzo email tra gli account? Riesci a riprodurre questo problema con un account nuovo che non era associato a Keycloak in precedenza?

1 Mi Piace

Grazie per la rapida risposta!

Non stavo usando lo stesso indirizzo email tra gli account, ma l’ho cambiato su Keycloak per farlo corrispondere a quello utilizzato in Discourse, ed è ancora lo stesso. La risposta in Data Explorer è la stessa (“NULL” user).

Ho provato a creare un nuovo utente, e sto ricevendo un errore “Invalid username, email or password”, anche se il nome utente è perfettamente valido e disponibile, l’email è valida e la password è stata generata dal mio password manager. Questo è molto probabilmente non correlato, ma è un’altra cosa che devo capire perché sta succedendo.

1 Mi Piace