WordPress DiscourseConnect Client - abgelaufener Nonce

Das Problem liegt meines Wissens nicht beim WordPress-Objekt-Cache, da dieser nicht über Anfragen hinweg persistent ist. Das Problem tritt bei Websites auf, die eine Art persistenten Cache haben: https://developer.wordpress.org/reference/classes/wp_object_cache/#persistent-caching. Dies kann über ein Plugin konfiguriert werden, ist aber auch standardmäßig bei einigen Hosting-Anbietern aktiviert, z. B. bei WP Engine. Ich denke, im Fall von WP Engine aktivieren sie den Objekt-Cache nicht auf ihrer Anmeldeseite, aber sie aktivieren ihn für anonyme Benutzer auf allen anderen Seiten. Bei WP Engine wird das Problem also nur ausgelöst, wenn der Link „Mit Discourse anmelden“ auf einer anderen Seite als der Anmeldeseite hinzugefügt wird.

Das Problem mit der discourse_sso_url besteht darin, dass sie, wenn sie immer auf denselben Wert gesetzt ist, bei Websites mit aktiviertem persistentem Cache immer denselben Nonce zurückgibt. Das Setzen seines discourse_sso-Werts auf eine zufällige Zeichenfolge anstelle seines Standardwerts 1 bricht den Cache. Zumindest hat es bisher immer so funktioniert, wenn ich es getestet habe. Ich habe derzeit keine Möglichkeit, es zu testen.

Bearbeiten: Hier gibt es weitere Details zum Problem: Discourse (as provider) + WP SSO nonce error - #14 by simon. Es ist schon eine Weile her, seit ich mir das angesehen habe. Die damalige Lösung für das Problem schien zu sein, sowohl eine zufällige Zeichenfolge zur discourse_sso_url hinzuzufügen als auch sicherzustellen, dass das Seiten-Caching auf der Seite, auf der der Anmeldelink angezeigt wurde, nicht aktiviert war (andernfalls wäre die zufällige Zeichenfolge bei jedem Besuch eines anonymen Benutzers nicht eindeutig).