Configurazione DiscourseConnect - Single Sign-On ufficiale per Discourse (sso)

Sembra che tu stia usando Discourse come provider SSO per WordPress. Questo approccio è descritto qui: Usa Discourse come identity provider (SSO, DiscourseConnect). Il plugin Discourse per WordPress ha opzioni sia per usare WordPress come provider SSO per Discourse, sia per usare Discourse come identity provider per WordPress. Usare lo stesso nome per entrambi gli approcci crea un po’ di confusione.

Sarei tentato di usare WordPress come identity provider per questo caso. Con questo approccio, gli utenti creeranno account sul tuo sito WordPress e poi accederanno a Discourse con le loro credenziali WordPress. Una cosa da tenere presente con questo approccio è che significa che gli utenti potranno accedere a Discourse solo tramite WordPress, non sarà possibile creare un account Discourse senza avere già un account WordPress. Penso che questa sia la configurazione appropriata quando si integra Discourse con un sito di appartenenza WordPress.

Quando WordPress viene utilizzato come identity provider per Discourse, ci sono un paio di funzioni di utilità utili per impostare le appartenenze ai gruppi di Discourse degli utenti in base alla loro attività su WordPress. Queste funzioni sono descritte qui: Gestisci l’appartenenza ai gruppi in Discourse con WP Discourse SSO.

Tornando alla tua domanda originale:

È passato un po’ di tempo da quando ho esaminato il codice del client DiscourseConnect del plugin WordPress, ma penso che ciò che stai chiedendo sia più o meno il modo in cui quel codice è previsto per funzionare. Se un utente ha un account Discourse, deve solo fare clic sul link “Accedi tramite Discourse” su WordPress e verrà creato un account per lui.

Questo sarebbe tecnicamente possibile quando si utilizza WordPress come client DiscourseConnect, ma a meno che qualcosa non sia cambiato, non sarai in grado di utilizzare i metodi add_user_to_discourse_group e remove_user_from_discourse_group che sono descritti nella documentazione che ho collegato. Dovresti fare qualcosa come impostare un Webhook di Discourse che viene attivato quando un utente viene aggiunto a un gruppo di Discourse, quindi aggiungere del codice su WordPress per elaborare quel webhook. Per sincronizzare i gruppi da WordPress a Discourse, dovresti effettuare una chiamata API a Discourse per aggiornare i gruppi di un utente quando c’è una modifica su WordPress. Quindi, qualcosa che sarebbe abbastanza facile da realizzare se usi WordPress come provider DiscourseConnect potrebbe essere piuttosto complicato se usi WordPress come client DiscourseConnect.

1 Mi Piace