Ho riscontrato un problema con Discourse e WordPress. WordPress è impostato come master e Discourse come slave. La sincronizzazione degli utenti funziona correttamente, così come la sincronizzazione dei commenti.
Tuttavia, se un utente accede a WordPress (utilizzando il file predefinito wp-login.php), non viene automaticamente effettuato l’accesso all’utente su Discourse. L’utente dovrebbe premere nuovamente ‘login’ su Discourse per accedere.
Presumo che tu intenda che il loro processo di accesso è iniziato in WordPress. E che quando vanno su Discourse e cliccano su “login” non devono inserire nuovamente i loro dati di accesso in WordPress. Se è così, quello che stai descrivendo è il comportamento previsto. Accedere direttamente a WordPress (senza prima andare su Discourse) non ti accede automaticamente a Discourse in background. Il processo di accesso deve essere avviato da Discourse per accedere a Discourse.
Questo è il modo in cui funzionano la maggior parte dei sistemi di identità, ovvero non condividono “sessioni” tra diversi servizi nel sistema. Capisco che con alcuni sistemi di identità come quello di Google, accedi ad esempio a Google Analytics, e poi quando vai su Gmail sarai ancora connesso. Ma quel tipo di esperienza di sessione cross-domain deve essere mantenuta dal fornitore del sistema (cioè Google) e non è integrata nei protocolli di identità standard utilizzati su piattaforme come Discourse e WordPress.
Discourse e WordPress sono sistemi open source diversi mantenuti da persone diverse. Il plugin WP Discourse rende possibile gestire l’accesso tra i due, ma non sarà mai una soluzione completa di identità e sessione analoga a ciò che fanno aziende come Google tra i loro diversi servizi.
Il mio consiglio sarebbe di non perdere tempo cercando di ricreare ciò che Google e servizi simili fanno con la loro esperienza di sessione cross-domain. So che molti amministratori di community lo vorrebbero (mi è stato chiesto diverse volte), tuttavia i tuoi utenti si preoccuperanno molto meno di questo di quanto pensi.