Dies wird über die Discourse-Site-Einstellung „maximum session age“ gesteuert. Diese Einstellung ist standardmäßig auf 1440 Stunden festgelegt. Sofern sie nicht auf einen sehr kleinen Wert gesetzt wird, ist sie keine zuverlässige Methode, um Benutzer auszuloggen. Der Grund dafür ist, dass sie die Zeitspanne festlegt, die ein Benutzer seit seinem letzten Besuch eingeloggt bleibt. Das Setzen von „maximum session age“ auf eine sehr kleine Stundenzahl könnte zudem für die Benutzer Ihrer Seite zu Unannehmlichkeiten führen.
Ich denke, Ihr bester Ansatz wäre es, Benutzer über die API aus Discourse auszuloggen, wenn die Mitgliedschaften ablaufen. Ein Codebeispiel, wie dies funktioniert, finden Sie hier: wp-discourse/lib/sso-provider/discourse-sso.php at main · discourse/wp-discourse · GitHub. Möglicherweise benötigen Sie Unterstützung von einem Entwickler, um einen API-Aufruf zu tätigen, der Benutzer aus Discourse ausloggt, sobald ihre Mitgliedschaft abläuft.