Wordpress SSO e accesso Patreon

Ok, ho trovato una soluzione alternativa che ‘risolve’ il problema con il login su Patreon. Di seguito trovate le istruzioni. :slight_smile:

Avrete bisogno di:

  • Un qualsiasi plugin che fornisca uno shortcode per visualizzare il modulo di login (nel mio sito ho installato WooCommerce, quindi ho usato lo shortcode [woocommerce_my_account], che fa esattamente questo per gli utenti non loggati).
  • Il plugin Members, che fornisce gli shortcode [members_logged_in] e [members_not_logged_in] per mostrare/nascondere contenuti in base allo stato di accesso dell’utente. Potete usare qualsiasi altro plugin con funzionalità simili.
  • Il plugin Shortcode Redirect.

L’idea è creare una pagina speciale che mostri un modulo di login (e il pulsante di login Patreon) solo per gli utenti non loggati. Se l’utente è già loggato, la pagina deve reindirizzare all’URL https://community.morevnaproject.org/session/sso?return_path=%2F.
(Ovviamente, dovrete sostituire “community.morevnaproject.org” con il vostro dominio).

La mia pagina di login speciale ha il seguente contenuto:

[members_not_logged_in]
   [woocommerce_my_account]
   [patreon_login_button]
[/members_not_logged_in]
[members_logged_in]
   [redirect url='https://community.morevnaproject.org/session/sso?return_path=%2F' sec='0']
[/members_logged_in]

(potete vederla in azione qui - Log In / Register — Morevna Project)

A questo punto, dovete solo configurare il plugin WP-Discourse per utilizzare quella pagina per l’SSO -

Quando l’utente clicca sul pulsante “Accedi” in Discourse, viene reindirizzato alla mia pagina WordPress speciale. Poiché l’utente non è loggato, viene mostrato il modulo di login. Se l’utente clicca sul pulsante “Accedi con Patreon”, viene reindirizzato a Patreon per l’autorizzazione. Dopo un’autorizzazione riuscita, viene reindirizzato nuovamente alla mia pagina speciale. Dato che ora l’utente è loggato, viene attivato lo shortcode “redirect”:

[redirect url='https://community.morevnaproject.org/session/sso?return_path=%2F' sec='0']

…e l’utente viene reindirizzato con successo ai forum di Discourse.

La parte session/sso?return_path=%2F alla fine dell’URL è necessaria; altrimenti Discourse non riconoscerà l’utente come loggato dopo il reindirizzamento.

È tutto! Spero che questo possa aiutare altri utenti che desiderano implementare l’SSO con WordPress e il login Patreon sul proprio sito. :slight_smile: