Ho un sito di membership WordPress gestito con Memberpress per controllare gli accessi.
Abbiamo creato un forum Discourse e installato il plugin wp-discourse, collegandoli tra loro.
Tuttavia, non trovo alcuna documentazione che spieghi come il forum viene solitamente accessibile dal sito WordPress. Non voglio che gli utenti vengano reindirizzati al forum dopo il login, ma suppongo di poter aggiungere un link nel menu, con un testo informativo per chi non è loggato e, per gli utenti loggati con il livello di membership appropriato, un altro testo e il link al sito del forum.
Apprezzerei molto un vostro parere in merito. Ho notato che nelle varie impostazioni del plugin sembra che i post possano essere incorporati nel sito WordPress, ma non trovo una spiegazione chiara di come questo possa apparire.
Sì
Ho seguito le parti che sembrano applicabili. Non riesco ancora a trovare informazioni su come collegare il forum a un sito web… Immagino si tratti semplicemente di creare un link nel menu.
Ho provato a configurarlo in modo che il sito WordPress funga da SSO per il forum, ma devo fare ulteriori test perché, quando accedo al forum con un utente che ha un account con lo stesso nome utente sul forum, mi chiede ancora di effettuare il login sul forum.
Sarebbe utile vedere un esempio di un sito web che si collega a un forum Discourse.
Grazie!
Evelyn
Se utilizzi il plugin per pubblicare post da WordPress a Discourse, puoi aggiungere un link al relativo argomento di Discourse a ogni post di WordPress. Per farlo, seleziona “Abilita commenti Discourse” nella scheda Impostazioni commenti del plugin. Quando selezioni questa opzione, avrai la possibilità di scegliere se visualizzare i commenti di Discourse sotto il post o mostrare solo un link ai commenti.
Quando l’SSO è abilitato, i link agli argomenti di Discourse verranno impostati di default come link di accesso SSO. Ciò significa che quando un utente clicca sul link, verrà automaticamente portato attraverso il processo di accesso SSO e poi reindirizzato all’argomento di Discourse come utente connesso.
Puoi aggiungere un link al tuo forum al menu del tuo sito WordPress. Quando l’SSO è abilitato, puoi strutturare il link in modo che gli utenti vengano portati attraverso il processo di accesso SSO quando cliccano sul link. Consulta Create a DiscourseConnect login link per i dettagli su come strutturare il link. Per aggiungere un link in questa forma su WordPress, devi aggiungere un “Link personalizzato” al menu:
L’esempio nello screenshot effettuerà l’accesso degli utenti a Discourse e li reindirizzerà alla homepage del forum quando cliccheranno sul link “forum”. Per creare un link che reindirizzi gli utenti a una pagina specifica del tuo forum, aggiungi un parametro di query return_path all’URL. Ad esempio: http://localhost:3000/session/sso?return_path=http://localhost:3000/c/fun.
Se volessi utilizzare il mio URL reale (sottodominio) per il forum invece di quello localhost, funzionerebbe comunque?
Non prevediamo di utilizzare i post di WordPress per accedere a Discourse, ma solo di inserire un link che porti i membri al forum: vogliamo però che siano già autenticati quando vi arrivano.
Quindi, in questo caso, tutte le impostazioni relative a commenti e post, ecc., non saranno applicabili? Dobbiamo semplicemente proteggere l’accesso al forum tramite il nostro plugin per la gestione degli abbonamenti. Non sarà necessario sincronizzare commenti e post.
L’esempio che ho fornito non era chiaro come avrebbe potuto esserlo. Lo modificherò questa settimana. Il dominio localhost:3000 è il dominio del mio sito di sviluppo locale. Dovresti sostituire quel dominio con il dominio effettivo del tuo forum. Ad esempio, https://forum.esempio.com/session/sso
Se è così, non è necessario configurare alcuna delle impostazioni relative ai Commenti o alla Pubblicazione.
Quando SSO è abilitato, tutti gli utenti del tuo sito WordPress potranno accedere al tuo forum Discourse. Se hai utenti su WordPress che non dovrebbero essere autorizzati a creare account su Discourse, dovrai aggiungere del codice a un plugin o al tema del tuo sito. L’argomento fornisce dettagli su come farlo: How to prevent some WP users from being able to login to Discourse.
Voglio semplicemente che reindirizzi al livello principale. In seguito potrei scegliere una pagina specifica di Discourse.
Ho assicurato di lasciare la casella spuntata per consentire l’accesso diretto.
Attualmente, quando accedo dal sito WordPress o dal forum stesso, vengo reindirizzato al sito WordPress.
Ciao Simon,
Stiamo notando che gli utenti con privilegi di amministratore su Discourse non vedono tali permessi quando accedono tramite SSO. Uno dei miei collaboratori riesce ad accedere con il processo SSO, ma non vede i suoi privilegi di amministratore. Io non riesco ad accedere affatto; sto ancora cercando di capire il motivo.
Esiste un modo per permettere agli amministratori di accedere direttamente a Discourse al di fuori di SSO, così da poter gestire il sito? O per garantire che abbiano tutti i loro privilegi completi su Discourse quando accedono tramite il login SSO del sito web?
Sì, se ti sei bloccato fuori da Discourse durante la configurazione dell’SSO, vai su http://forum.example.com/u/admin-login. (Sostituisci forum.example.com con il dominio del tuo forum.) Inserisci il tuo indirizzo email nel modulo presente nella pagina e clicca sul link che riceverai via email.
Una volta tornato ad accedere al sito, controlla se è stato creato un nuovo account per lui. Per accedere a un account esistente su Discourse, devi utilizzare lo stesso indirizzo email su WordPress che usi per l’account Discourse.
Dai un’occhiata a Debug and fixing common DiscourseConnect issues per vedere se ti offre qualche indizio per risolvere i tuoi problemi SSO. I problemi che stai riscontrando sono probabilmente legati a quanto descritto nella sezione ‘Risoluzione dei problemi di accesso SSO con require_activation’ di quel topic. Non credo che il tuo sito stia utilizzando il sistema di registrazione predefinito di WordPress, quindi i nuovi account creati dopo l’installazione del plugin WP Discourse avranno l’flag require_activation impostato su true nel payload SSO.