Sto per abilitare DiscourseConnect Provider e ho alcune domande:
Potrò ancora impersonare gli utenti e avere accesso a tutti i controlli di amministrazione utente all’interno di Discourse dopo aver abilitato questa opzione?
Cosa succederà a coloro che esistono già su Discourse, ma non su WP? Il loro account sarà interessato, quali credenziali useranno per accedere, dato che non esistono effettivamente su WP.
come posso aggiungere un pulsante di iscrizione sul mio sito web Discourse che li reindirizzi a Discourse dopo essersi iscritti su WP?
C’è un modo per consentire agli utenti di iscriversi ancora SOLO su Discourse con questa impostazione abilitata.
Quindi ho appena testato questo. Ho preso un account che esiste su Discourse ma non su Wordpress e ho provato ad accedere e WP ha dato i seguenti errori:
Il che, immagino, abbia senso dal punto di vista di WP dato che l’utente non esiste effettivamente su WP.
La domanda è: abilitare il provider DiscourseConnect significherebbe che gli utenti Discourse esistenti, che non sono registrati sul mio WP, non potranno più accedere?
Esiste una soluzione a questo?
Ho trovato questa risposta che espande quanto hai suggerito:
Ma come posso importarli in WP senza influire sulle loro attuali credenziali di accesso a Discourse?
C’è un modo per farlo senza reimpostare gli accessi dell’utente o addirittura senza informarli in modo che sia una transizione senza interruzioni?
Ne dubito. Esiste un plugin per Discourse che consente la migrazione delle password da WordPress, ma dubito che ce ne sia uno che faccia il contrario. Dovrai far reimpostare la password a tutti.
Fino a quando non passerai all’utilizzo del login WP, gli account presenti su WordPress non influenzeranno Discourse.
E se abilitassi WordPress come client Discourse e poi creassi uno script di automazione che:
Impersonasse un account utente su Discourse in modo che l’automazione fosse collegata come utente
Navigasse su WordPress e facesse clic sul pulsante “Accedi con Discourse”.
ripetesse per tutti gli utenti esistenti su Discourse. Circa 2k
L’idea è che il passaggio n. 2 forzi WP a creare un account per l’utente Discourse con le stesse credenziali. Presumo anche che il pulsante “Accedi con Discourse” funzionerà automaticamente senza richiedere la password quando sono collegato come utente, impersonandolo.
Una volta fatto questo, i loro account esisterebbero all’interno di WP e poi potrei passare WP a Discourse Provider?
Sembra avere senso in teoria, ma mi piacerebbe sentire il tuo feedback sul fatto che questo possa funzionare.
Abbiamo diversi corsi ed eventi per membri premium che si svolgono sul nostro sito web WP e voglio avere un’integrazione senza interruzioni tra WP e Discourse.
Quali sono gli svantaggi nel farlo? e perché dici questo…
OK. Allora se hai utenti Discourse in WordPress, dovrai fare in modo che tutti questi utenti abbiano un account in WordPress. Se lo creano con lo stesso indirizzo email, dovrebbero essere collegati al loro utente Discourse quando effettuano l’accesso.
Come ha notato Jay, il modo migliore per raggiungere questo obiettivo è configurare il tuo sito WordPress come provider SSO per Discourse. Dai un’occhiata a questo argomento per i dettagli su come impostarlo: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect.
Dopo aver configurato WordPress come provider DiscourseConnect, gli utenti di Discourse che non hanno ancora account sul tuo sito WordPress dovranno registrarsi su WordPress prima di poter accedere al tuo sito Discourse. Dovresti aggiungere un messaggio al tuo sito Discourse per informare gli utenti sulla modifica. Nel messaggio, incoraggia gli utenti a registrarsi su WordPress con lo stesso indirizzo email che stanno utilizzando su Discourse. In questo modo, verranno effettuati l’accesso ai loro account Discourse esistenti la prima volta che accederanno nuovamente a Discourse tramite WordPress.
Se gli utenti non si registrano su WordPress con l’indirizzo email che stanno utilizzando su Discourse, verrà creato un nuovo account per loro la prima volta che accederanno nuovamente a Discourse tramite WordPress. Puoi risolvere questo problema caso per caso unendo il vecchio account Discourse al nuovo account Discourse. Questo può essere fatto dalla pagina di amministrazione utente di Discourse.
Una cosa da notare è che il comportamento degli utenti che accedono ai loro account Discourse esistenti funzionerà solo se gli indirizzi email vengono contrassegnati come “validi” dal lato WordPress. Se stai utilizzando il sistema di registrazione WordPress predefinito, questo funzionerà senza problemi. Se stai utilizzando una pagina di registrazione personalizzata aggiunta da un plugin, è probabile che gli indirizzi email degli utenti non vengano contrassegnati come “validi”. I dettagli su come risolvere questo problema sono qui: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. Nota che è molto importante non accettare semplicemente indirizzi email alla cieca senza validarli in qualche modo. Se gli indirizzi email non vengono convalidati, rischi che gli account esistenti vengano compromessi.
Sembra che tu stia utilizzando il sistema di registrazione predefinito di WordPress. Lo presumo perché la tua pagina di accesso si trova in wp-login.php. Ciò significa che il plugin WP Discourse contrassegnerà gli indirizzi email degli utenti come verificati.
Sì, Discourse invierà ancora loro email. Le notifiche email inviate da Discourse non sono interessate dall’uso di Discourse Connect come sistema di autenticazione.
Un utente sul tuo sito WordPress che non ha mai avuto accesso a Discourse non è considerato un utente su Discourse. Non riceverà alcuna notifica email da Discourse. L’unica eccezione è se abiliti l’impostazione WP Discourse “Crea o sincronizza utenti Discourse al login”:
Se tale impostazione è abilitata, un account Discourse verrà creato automaticamente per gli utenti quando accedono al tuo sito WordPress. In tal caso, se un utente ha effettuato l’accesso a WordPress, ma non ha mai visitato il tuo sito Discourse, inizierà a ricevere l’email di riepilogo settimanale dal tuo sito Discourse.
Quindi, ho appena testato questo e non sembra essere il caso. Come posso assicurarmi che le email degli utenti siano verificate ora senza doverlo fare manualmente?
Inoltre, come possono iscriversi i nuovi utenti e far verificare anche la loro email? Attualmente, li inviamo a wp-login.php che non ha opzioni per l’iscrizione, solo per l’accesso.
Posso creare un nuovo pulsante sul forum che dica “iscriviti” e li invii a una pagina di iscrizione personalizzata all’interno di WP, ma poi questo è un problema:
Inoltre, dopo essersi iscritti, vorrei reindirizzarli al Forum e assicurarmi che siano connessi.
Sto esplorando anche un altro approccio che credo renderebbe le cose più facili dal punto di vista degli utenti e mi piacerebbe sentire i tuoi pensieri.
E se esportassimo manualmente tutti gli utenti di Discourse e li importassimo in WordPress? Questo processo
Creerebbe un account WordPress per ogni utente esistente su Discourse
Collegherebbe quell’account al loro profilo del forum
Segnerebbe il loro indirizzo email come verificato in WP. Poiché sono già utenti di Discourse, possiamo presumere che siano verificati.
Invierebbe loro un’email dicendo di reimpostare la password del forum (perché il passaggio 1 la reimposterebbe)
In questo modo non dovrebbero creare un nuovo account per sé stessi e dovrebbero semplicemente reimpostare la password.
Questo processo non risolve le domande/i problemi che ho evidenziato nella risposta precedente a questa.
Puoi confermare se gli indirizzi email vengono verificati o meno creando un nuovo account su WordPress dopo aver abilitato Discourse Connect. Se gli indirizzi email vengono verificati, vedrai una conferma in fondo alla pagina delle preferenze dell’utente. Puoi anche contrassegnare manualmente un indirizzo email come verificato da qui:
Supponendo che gli indirizzi email non vengano verificati, le istruzioni su come contrassegnare gli indirizzi email come verificati quando un utente crea un account sono qui: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. Questo sarebbe sicuro da fare se il tuo sito invia agli utenti un’email di conferma che contiene un link su cui devono fare clic prima di poter accedere al sito. Se il tuo sito WordPress non lo sta facendo, potresti anche aggiungere del codice in modo che gli indirizzi email degli utenti vengano contrassegnati come verificati dopo essersi registrati a uno dei tuoi corsi. La configurazione potrebbe richiedere l’aiuto di uno sviluppatore.
https://projectvanlife.com/login/ (contiene un link alla tua pagina di registrazione, ma cliccando sul link mi porta a una pagina “non trovata”)
La cosa più semplice da fare sarebbe risolvere questo problema in modo che ci sia una sola pagina di accesso sul sito, e la pagina contenga un link valido alla pagina di registrazione del sito. Sospetto che ciò possa essere realizzato tramite la pagina delle impostazioni del plugin che aggiunge il modulo di accesso. Nota che se scegli di utilizzare la pagina di accesso a https://projectvanlife.com/login/ , dovrai aggiungere /login al “Percorso della tua pagina di accesso” nelle impostazioni di WP Discourse:
Penso che questo possa confondere gli utenti. Un approccio più semplice sarebbe semplicemente aggiungere un link al tuo forum Discourse che sia strutturato in modo che gli utenti vengano automaticamente loggati in Discourse quando cliccano sul link. Ecco i dettagli su come creare il link: Create a DiscourseConnect login link. Una volta abilitato DiscourseConnect sul tuo sito, dovresti anche strutturare questo link in quel modo:
È possibile. Alcuni dettagli su come farlo sono qui: How to import Discourse users to WordPress? - #2 by simon. Il problema principale che vedo è che ti creeresti del lavoro senza rendere le cose molto più facili per i tuoi utenti. Se fossi io, le mie preoccupazioni sarebbero che gli utenti potrebbero non ricevere o leggere l’email e alcuni utenti potrebbero non essere contenti che venga creato un nuovo account a loro nome. C’è anche un potenziale problema di sicurezza a meno che il plugin importer che utilizzi non abbia un modo per forzare gli utenti a cambiare le loro password dopo il primo accesso.
Sarebbe molto più facile creare un argomento banner nella tua categoria “staff” con i dettagli sulla modifica. La formulazione nello screenshot potrebbe essere migliorata un po’:
Una volta apportata la modifica, aggiorna l’argomento banner per informare gli utenti di contattare un amministratore in caso di problemi di accesso.
Mi è venuto in mente qualcosa che potrebbe aiutare. Potresti configurare temporaneamente il tuo sito Discourse per essere il provider DiscourseConnect per il tuo sito web tra ora e il momento in cui imposterai il tuo sito WordPress come provider DiscourseConnect. Se lo facessi, potresti aggiungere qualcosa di simile a quanto segue all’argomento banner:
<a href="http://wp-discourse.test/?discourse_sso=1&redirect_to=http://wp-discourse.test/wp-admin/profile.php" target="_blank">Crea un account su (nome del tuo sito web)</a>
Cliccandoci sopra si registrerà un nuovo account su WordPress e reindirizzerà gli utenti alla loro pagina del profilo WordPress dove potranno impostare una password. Nota che per il tuo caso dovrai sostituire entrambi gli usi di http://wp-discourse.test nel link con https://projectvanlife.com/