Ok, ho trovato una soluzione alternativa che ‘risolve’ il problema con il login su Patreon. Di seguito trovate le istruzioni. ![]()
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. ![]()
