WPDiscourse - Abmeldung funktioniert nicht

?request=logout

Führt zu Folgendem:

Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /var/www/vhosts/localhost/html/wp-includes/http.php:251 Stack trace: #0 /var/www/vhosts/localhost/html/wp-content/plugins/wp-discourse/lib/plugin-utilities.php(188): wp_remote_retrieve_response_code() #1 /var/www/vhosts/localhost/html/wp-content/plugins/wp-discourse/lib/sso-client/client.php(477): WPDiscourse\DiscourseBase->validate() #2 /var/www/vhosts/localhost/html/wp-includes/class-wp-hook.php(307): WPDiscourse\SSOClient\Client->logout_from_discourse() #3 /var/www/vhosts/localhost/html/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters() #4 /var/www/vhosts/localhost/html/wp-includes/plugin.php(476): WP_Hook->do_action() #5 /var/www/vhosts/localhost/html/wp-includes/pluggable.php(1104): do_action() #6 /var/www/vhosts/localhost/html/wp-includes/pluggable.php(660): wp_clear_auth_cookie() #7 /var/www/vhosts/localhost/html/wp-content/plugins/wp-discourse/lib/sso-client/query-redirect.php(68): wp_logout() #8 /var/www/vhosts/localhost/html/wp-includes/class-wp-hook.php(307): WPDiscourse\SSOClient\QueryRedirect->discourse_sso_url_redirect() #9 /var/www/vhosts/localhost/html/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters() #10 /var/www/vhosts/localhost/html/wp-includes/plugin.php(524): WP_Hook->do_action() #11 /var/www/vhosts/localhost/html/wp-includes/class-wp-query.php(1104): do_action_ref_array() #12 /var/www/vhosts/localhost/html/wp-includes/class-wp-query.php(1792): WP_Query->parse_query() #13 /var/www/vhosts/localhost/html/wp-includes/class-wp-query.php(3586): WP_Query->get_posts() #14 /var/www/vhosts/localhost/html/wp-includes/class-wp-query.php(3718): WP_Query->query() #15 /var/www/vhosts/localhost/html/wp-content/plugins/happyfiles-pro/includes/data.php(197): WP_Query->__construct() #16 /var/www/vhosts/localhost/html/wp-includes/class-wp-hook.php(307): HappyFiles\Data::get_folders() #17 /var/www/vhosts/localhost/html/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters() #18 /var/www/vhosts/localhost/html/wp-includes/plugin.php(476): WP_Hook->do_action() #19 /var/www/vhosts/localhost/html/wp-settings.php(598): do_action() #20 /var/www/vhosts/localhost/html/wp-config.php(85): require_once('...') #21 /var/www/vhosts/localhost/html/wp-load.php(50): require_once('...') #22 /var/www/vhosts/localhost/html/wp-blog-header.php(13): require_once('...') #23 /var/www/vhosts/localhost/html/index.php(17): require('...') #24 {main} thrown in /var/www/vhosts/localhost/html/wp-includes/http.php on line 251

Ich werde mir das morgen früh CET als Erstes ansehen.

Kein Problem, danke. Es könnte etwas auf meiner Seite sein, aber es wäre gut zu wissen, ob Sie es reproduzieren können oder nicht.

Es ist die neueste Version von WordPress und Discourse Connect und Discourse.

Es ist auch PHP 8 (was das Problem sein könnte?)

Ich benutze DiscourseConnect als Client, nicht als Provider, ich weiß nicht, ob das eine Rolle spielt?

Ich werde es schließlich auf WordPress als Provider umstellen, aber ich muss den besten Weg finden, alle Benutzer zu migrieren :laughing:

@Fma965 Das ist ein legitimer Fehler. Er besteht seit fast einem Jahr. Er tritt auf, wenn

  • WP als DiscourseConnect-Client verwendet wird;
  • die Synchronisierung beim Abmelden aktiviert ist; und
  • (er hängt auch von Ihrer PHP-Fehlerbehandlung ab)

Danke für die Meldung!

Sobald dieser PR zusammengeführt und 2.4.5 veröffentlicht wurde, wird er behoben sein

cc @simon

Danke @Fma965 und @angus, WP Discourse Version 2.4.5 ist jetzt im WordPress-Repository verfügbar.

Danke Angus, ich habe die SSO-Richtung bereits geändert, es war einfacher als gedacht. Ich habe die Benutzer einfach importiert und als bereits verifiziert markiert und die Benutzer dann aufgefordert, ihr Passwort zurückzusetzen.

Daher kann ich es nicht testen, aber ich bin sicher, dass es wie vorgesehen funktioniert. Danke, dass du es so schnell gelöst hast.

Und danke @simon fürs Veröffentlichen.