問題はWordPressのオブジェクトキャッシュにあるのではなく、私の知る限りではリクエスト間で永続化されません。問題は、永続的なキャッシュを持つサイトで発生します:https://developer.wordpress.org/reference/classes/wp_object_cache/#persistent-caching。これはプラグインで設定できますが、一部のホスティングプロバイダー(例:WP Engine)によってデフォルトで有効にもなっています。WP Engineの場合、ログインページではオブジェクトキャッシュを有効にしませんが、それ以外のすべてのページでは匿名ユーザーに対して有効にします。したがって、WP Engineでは、「Discourseでログイン」リンクがログインページ以外のページに追加された場合にのみ問題が発生します。
discourse_sso_urlの問題は、永続キャッシュが有効になっているサイトでは、常に同じ値に設定されていると、常に同じノンス(nonce)が返されることです。そのdiscourse_sso値をデフォルト値の1ではなくランダムな文字列に設定すると、キャッシュが壊れます。少なくとも、以前テストしたときは常にそのように機能していました。現時点ではテストできる環境がありません。