Creare account Discourse tramite SSO senza visitare l'URL del forum?

Sì, il nostro plugin per WordPress include un’opzione che fa qualcosa di simile. Il meccanismo funziona così: quando un utente crea un account WordPress o accede al sito WordPress, viene effettuata una chiamata al percorso /admin/users/sync_sso di Discourse. Se l’utente non esiste ancora su Discourse, viene creato un nuovo utente Discourse. Se l’utente esiste già su Discourse, la chiamata può essere utilizzata per aggiornare i dettagli dell’utente che sono cambiati sul sito del provider SSO. Ad esempio, può aggiornare il nome, il nome utente o l’indirizzo email dell’utente. Può anche essere utilizzata per aggiungere o rimuovere l’utente dai gruppi di Discourse.

Per una panoramica generale del percorso sync_sso, consulta Sync DiscourseConnect user data with the sync_sso route. Se i tuoi sviluppatori vogliono vedere un esempio funzionante scritto in PHP, guarda questo file del nostro plugin WordPress: https://github.com/discourse/wp-discourse/blob/master/lib/sso-provider/discourse-sso.php. La funzione principale da esaminare in quel file è sync_sso.

L’unico svantaggio che conosco è che aggiunge una certa complessità al codice SSO. Con l’implementazione nel plugin WordPress, comporta anche una chiamata API a Discourse ogni volta che un utente accede al sito del provider SSO. Questo perché è collegato all’evento di accesso di WordPress. Non sono a conoscenza di problemi di limiti di frequenza causati da questa chiamata API su alcun sito, ma sarebbe possibile effettuare la chiamata solo quando viene creato un nuovo account, se questo fosse un problema.

Il vantaggio di questo approccio è che consente di aggiornare i dettagli degli utenti senza che debbano accedere a Discourse tramite SSO. Ad esempio, permette di aggiungere utenti a un gruppo di Discourse quando eseguono un’azione sul tuo sito web.

Un altro approccio per integrare un sito web con Discourse tramite SSO è utilizzare link di accesso SSO sul tuo sito web. Questo ti permette di incorporare il tuo forum Discourse sul tuo sito web, consentendo agli utenti di accedere a Discourse e di essere reindirizzati a una pagina specifica. Questo argomento contiene i dettagli su come configurarlo: Crea un link di accesso SSO.