Domande Provider DiscourseConnect

Sto per abilitare DiscourseConnect Provider e ho alcune domande:

  1. Potrò ancora impersonare gli utenti e avere accesso a tutti i controlli di amministrazione utente all’interno di Discourse dopo aver abilitato questa opzione?

  2. 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.

  3. come posso aggiungere un pulsante di iscrizione sul mio sito web Discourse che li reindirizzi a Discourse dopo essersi iscritti su WP?

  4. C’è un modo per consentire agli utenti di iscriversi ancora SOLO su Discourse con questa impostazione abilitata.

Grazie!

Sì, tranne per le cose che hanno a che fare con la creazione di utenti, come gli inviti.

Se possono accedere a WP con lo stesso indirizzo, penso che andrà tutto bene. Altrimenti, non esistono.

Il pulsante di accesso li porta di nascosto al sito WP.

No.

2 Mi Piace

cosa intendevi con questo?

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:


Screenshot 2023-07-01 220024

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?

Quando fai clic sul pulsante di accesso, vieni indirizzato a WP.

Sì. Dovrai creare quegli utenti su WordPress.

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.

1 Mi Piace

Ho un’idea.

E se abilitassi WordPress come client Discourse e poi creassi uno script di automazione che:

  1. 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”.
  2. 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.

Giusto. Se l’utente non esiste in WordPress, non può accedere a WordPress.

Non devi impersonare nulla.

Se vuoi che WordPress sia la tua fonte di autenticazione:

  • crea tutti gli utenti in WordPress. Assicurati che l’indirizzo email in WP corrisponda a Discourse
  • imposta Discourse per utilizzare WP come host di DiscourseConnect

Dovrai chiedere alle persone di reimpostare le loro password in WordPress.

Quale problema risolverà lo spostamento dell’autenticazione su WordPress? Penso che ti pentirai di averlo fatto.

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.

Non so cos’altro dire.

1 Mi Piace

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.

4 Mi Piace

Come lo sapremmo?

Questa è la mia pagina di registrazione: Log In ‹ Project Van Life — WordPress

È progettata diversamente a causa del mio tema, ma so che non abbiamo un plugin dedicato per l’accesso.

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.

3 Mi Piace

Un’altra domanda a riguardo.

Discourse invia ancora email quando viene configurato un provider Discourse Connect, Discourse invia ancora notifiche via email agli utenti WP?

Come funziona se qualcuno è un utente WP ma non ha mai avuto accesso al forum, rispetto a qualcuno che è un utente WP e sta accedendo al forum.

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.

3 Mi Piace

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

  1. Creerebbe un account WordPress per ogni utente esistente su Discourse

  2. Collegherebbe quell’account al loro profilo del forum

  3. Segnerebbe il loro indirizzo email come verificato in WP. Poiché sono già utenti di Discourse, possiamo presumere che siano verificati.

  4. 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.

Vedo due pagine di accesso separate sul tuo sito:

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:

Ecco il link completo che ho usato:

<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/

4 Mi Piace

@simon grazie MILLE per la tua risposta dettagliata, è stata estremamente utile!

Questa è un’ottima idea!

Cosa succederebbe se impersonassimo ogni utente e facessimo questo per loro? Causerebbe problemi?

Questo approccio mantiene anche la stessa password di accesso dopo che passiamo da WordPress al provider Discourse Connect?

3 Mi Piace

Non credo che causerebbe problemi.

Impostare WordPress come provider DIscourseConnect non cambierà la password WordPress dell’utente.

3 Mi Piace