SSO discourse ha errore nella stessa sessione

Ciao, uso SSO per accedere a WordPress tramite Discourse. Ho utilizzato il plugin Discourse per WordPress.
Inizialmente funzionava senza problemi.

Ma quando sono nella stessa sessione (senza aver effettuato il logout) e provo ad accedere al link amministrativo /wp-admin/, non vengo reindirizzato alla dashboard e appare questo errore nel modulo di login:

Nonce scaduto

C’è qualcosa che non va nella sessione o nei cookie. Questo crea confusione per l’utente, dato che utilizzo l’accesso SSO tramite Google.

Penso che il problema che stai riscontrando sia causato dalla cache degli oggetti sul tuo server. Prova ad aggiungere un codice simile al seguente al file functions.php del tuo tema WordPress per vedere se risolve il problema:

add_filter('wpdc_sso_client_query', 'wpdc_custom_sso_client_query' );
function wpdc_custom_sso_client_query() {
    return wp_generate_password( 12, false );
}

Puoi trovare alcuni dettagli a riguardo qui: Wordpress SSO Expired nonce - #15 by simon.

È ancora fallito con questo codice.
Discourse non va d’accordo con Cloudflare, ma uso Cloudflare per proteggere il mio sito web. Va bene?

Va bene se cancello i cookie e accedo di nuovo, ma è confuso.

Si blocca su questo link:

/wp-login.php?discourse_sso_error=expired_nonce

Credo che non sia Cloudflare, perché questa regola che ho impostato per testare l’elusione:

Il test interessante che ho trovato è che non tutti i link del tuo plugin non funzionano.

Questo link funziona normalmente:

/?discourse_sso=7cygqwtc8aaz&redirect_to=https%3A%2F%2Fmyweb.net%2Fmy-account

Ciò significa che il tuo parametro “7” nell’SSO è corretto

Ho provato a reindirizzare il mio link a questo parametro per reindirizzare l’utente.
Potresti verificare e risolvere questo problema controllando i parametri dei link.

Questo link, relativo al testo “External Login Text”, funziona correttamente.

All-Options-‹-Working24-—-working24-net

Alla fine hai trovato una soluzione? Ho lo stesso problema.

Prova a utilizzare la soluzione indicata qui: Wordpress SSO Expired nonce - #15 by simon.

1 Mi Piace

Grazie, l’ho applicato ma il problema persiste.

@Golaxo Stai usando anche tu Cloudflare?

In tal caso, prova a disabilitare completamente Cloudflare e verifica se il problema persiste.

2 Mi Piace

Grazie amico, dopo aver imprecato un sacco ho trovato il problema: il plugin Paid Membership Pro ha creato un conflitto. Devo ancora capire come limitare i contenuti su Wordpress per gli utenti che arrivano da Discourse SSO, ma almeno ora vedo dov’è il problema :slight_smile:

2 Mi Piace