È possibile cambiare provider SSO?

Siamo andati in produzione su Discourse circa due anni fa e stiamo utilizzando l’SSO dal nostro sistema back office principale come provider di autenticazione. Utilizza un ID esterno (GUID).

Ci stiamo preparando a cambiare il nostro sistema back office principale a un altro fornitore. Supportano OAuth2/OpenID ma quando convertiremo a questo nuovo sistema, gli ID esterni dei nostri utenti (GUID) cambieranno. Quindi mi chiedo se altri siano già passati attraverso questo e se dovrò in qualche modo fare un aggiornamento di massa degli ID esterni attualmente memorizzati nel nostro Discourse.

1 Mi Piace

Dovresti stare bene finché l’indirizzo email di un utente rimane lo stesso.

5 Mi Piace

Grazie, sfortunatamente ricevo l’errore “l’indirizzo email primario è già stato preso” quando testo il mio nuovo provider SSO.

E ho questa impostazione attiva:
image

Questo perché stai cercando di registrarti quando dovresti accedere (poiché l’account esiste già).

Ma non sto cercando di registrarmi. Arrivo alla home page, e poi clicco su “Accedi”; ottengo la pagina di accesso del mio provider SSO, con cui riesco ad autenticarmi correttamente, ma dopo aver inserito la mia password arrivo alla pagina “creiamo il tuo account” ma non ho mai cliccato su “Registrati”.

Ho anche queste impostazioni attive che penso dovrebbero essere appropriate.

Per la risoluzione dei problemi, inizierei solo con le impostazioni richieste. Conferma che un utente con quell’email esista su entrambi i lati.

Hai inserito manualmente quell’email in discourse o è stata popolata automaticamente dal server SSO?

Quello che credo stia succedendo qui è che l’email è associata a un nome utente diverso su discourse e il tuo server sso sta inviando un nuovo nome utente causando questo conflitto.

Hai qualcosa nei log di discourse relativo all’SSO? Potrebbe essere utile per identificare la causa esatta di questo problema.

1 Mi Piace

Grazie. Ho verificato di poter disabilitare SSO/OpenID in Discourse ed effettuare il login con lo stesso indirizzo email in Discourse. Ho verificato che le stesse credenziali funzionano con il mio provider SSO.

Quando riabilito OpenID in Discourse, mi autentico con successo tramite il mio provider SSO ma poi finisco comunque nella schermata di Discourse dove chiede di creare un account. Tutti e tre i valori in quella schermata (email, nome utente e nome completo) vengono popolati automaticamente dal provider SSO.

E ho provato a disattivare tutte quelle impostazioni sopra, ma nessun cambiamento in questo comportamento.

1 Mi Piace

Potresti andare su discourse.example.com/logs e verificare se ci sono avvisi o errori relativi all’SSO?

1 Mi Piace

Grazie, sì, nessun errore SSO e nessun errore OIDC. E ho anche attivato il logging dettagliato per OpenID.

1 Mi Piace

Mi dispiace, al momento non ho suggerimenti. Risponderò se ne troverò qualcuno.