WordPress ist hier über das WP-Discourse-Plugin als SSO-Anbieter eingerichtet. In bestimmten Randfällen müssen wir Benutzer abmelden, um die Konsistenz ihrer Gruppenzuweisungen usw. sicherzustellen.
Wenn ein Benutzer nicht versteht, worum es geht, melden wir seine Sitzung über das WordPress-Admin-Panel ab. Dies meldet ihn jedoch nicht bei Discourse ab.
Gibt es eine Möglichkeit, ein Discourse-Abmeldesignal über eine Funktion oder Ähnliches in WordPress einzubinden, um dies zu ermöglichen?
Weißt du, ob es eine WordPress-Aktion gibt, die aufgerufen wird, wenn ein Benutzer über das WordPress-Admin-Panel abgemeldet wird? Das WP Discourse-Plugin hängt an der Aktion clear_auth_cookie, um vom Benutzer initiierte Abmeldungen zwischen WordPress und Discourse zu synchronisieren. Vielleicht gibt es eine andere Aktion, die dafür verwendet werden könnte und die auch funktioniert, wenn ein Benutzer von einem Seitenadministrator abgemeldet wird.
Ich vermute, es wird die Funktion wp_ajax_destroy_sessions verwendet und in $sessions->destroy_all(); etwas mit Session-Token zaubert. Wie kann man clear_auth_cookie in dieser Funktion hooken?
Ich denke, das ist die Funktion, die genutzt wird.
Ich habe mir kurz den WordPress-Code angesehen und kann keinen offensichtlichen Weg finden, dies umzusetzen. Wenn dies keine Aktion ist, die du sehr häufig durchführst, können Discourse-Administratoren Benutzer von Discourse abmelden, indem sie auf die Schaltfläche „Abmelden