WordPress DiscourseConnect Client - abgelaufener Nonce

Ich gehe davon aus, dass dies beim Anmelden bei WordPress über Ihre Discourse-Site geschieht. Wenn dies der Fall ist, liegt das Problem darin, dass die von WordPress generierte Nonce abgelaufen ist. Dies geschieht auf WordPress-Sites, auf denen ein Objekt-Cache aktiviert ist.

Eine Lösung besteht darin, den Objekt-Cache auf allen Seiten zu deaktivieren, auf denen sich der Link „Mit Discourse anmelden“ befindet. Stellen Sie bei diesem Ansatz sicher, dass der Objekt-Cache für anonyme Benutzer deaktiviert ist.

Eine weitere Lösung wird hier beschrieben: Wordpress SSO Expired nonce - #15 by simon. Die Funktion in diesem Beitrag kann genau so in die functions.php-Datei Ihres WordPress-Themes kopiert werden.

Diese Funktion fügt der URL „Mit Discourse anmelden“ eine zufällige Zeichenfolge hinzu. Die zufällige Zeichenfolge veranlasst WordPress, den Cache zu leeren und eine neue Nonce für den Benutzer zu generieren. @angus, dies sollte wahrscheinlich in den Code des Plugins aufgenommen werden: wp-discourse/lib/sso-client/sso-client-base.php at main · discourse/wp-discourse · GitHub. Es gibt keine Nachteile, und ich glaube nicht, dass es eine andere Möglichkeit gibt, mit Objekt-Caching umzugehen, das veraltete Nonces verwendet, anstatt für jeden Besuch neue zu generieren.

3 „Gefällt mir“