Erreur de discours SSO dans la même session

Bonjour, j’utilise SSO pour me connecter à WordPress via Discourse. J’ai utilisé le plugin Discourse pour WordPress.

Au début, tout fonctionnait parfaitement.

Cependant, lorsque je suis dans la même session (sans me déconnecter) et que j’essaie d’accéder au lien admin /wp-admin/, je ne suis pas redirigé vers le tableau de bord. Le formulaire de connexion affiche cette erreur :

Nonce expiré

Il y a un problème avec la session ou les cookies. Cela rend l’utilisateur confus, car j’utilise SSO avec la connexion Google.

Je pense que le problème que vous rencontrez est dû à la mise en cache des objets sur votre serveur. Essayez d’ajouter le code suivant au fichier functions.php de votre thème WordPress pour voir si cela résout le problème :

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

Vous trouverez plus de détails à ce sujet ici : Wordpress SSO Expired nonce - #15 by simon.

Cela a échoué avec ce code.
Discourse n’est pas compatible avec Cloudflare, mais j’utilise Cloudflare pour protéger mon site web. Est-ce acceptable ?

Cela fonctionne si je supprime les cookies et me reconnecte, mais c’est confus.

C’est bloqué par ce lien :

/wp-login.php?discourse_sso_error=expired_nonce

Je pense que ce n’est pas Cloudflare, car j’ai configuré cette règle pour tester le contournement :

Le test intéressant que j’ai trouvé est que tous les liens de votre plugin ne sont pas échoués.

Ce lien fonctionne normalement :

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

Cela signifie que votre paramètre “7” dans le SSO est correct.

J’ai essayé de rediriger mon lien vers ce paramètre pour rediriger l’utilisateur.
Vous pouvez vérifier et résoudre ce problème en examinant les paramètres des liens.

Ce lien, associé au texte « Texte de connexion externe », fonctionne correctement.

Toutes-les-options-‹-Working24-—-working24-net

Avez-vous fini par trouver une solution ? J’ai le même problème.

Essayez d’utiliser la solution indiquée ici : Wordpress SSO Expired nonce - #15 by simon.

1 « J'aime »

Merci, je l’ai appliqué, mais le problème persiste.

@Golaxo Utilisez-vous également Cloudflare ?

Si oui, veuillez désactiver complètement Cloudflare et vérifier si le problème persiste.

2 « J'aime »

Merci mon pote, après pas mal de jurons, j’ai trouvé le problème : le plugin Paid Membership Pro a créé un conflit. Je dois encore trouver comment restreindre le contenu sur WordPress pour les utilisateurs venant de Discourse SSO, mais au moins, je vois où se situe le problème maintenant :slight_smile:

2 « J'aime »