WPDiscourse - Cerrar sesión no funciona

?request=logout

Resulta en lo siguiente

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

Lo revisaré mañana a primera hora, hora de Europa Central.

No hay problema, gracias. Puede que sea algo de mi parte, pero sería bueno saber si puedes replicarlo o no.

Es la última versión de Wordpress y Discourse Connect y Discourse.

También es PHP 8 (¿que podría ser el problema?)

Estoy usando DiscourseConnect como cliente, no como proveedor, ¿no sé si eso importa?

Eventualmente lo cambiaré a Wordpress como proveedor, pero necesito determinar la mejor manera de migrar a todos los usuarios :laughing:

@Fma965 Este es un error legítimo. Ha estado ahí por casi un año. Ocurre cuando:

  • se usa WP como cliente de DiscourseConnect;
  • se habilita el cierre de sesión de sincronización; y
  • (también depende del manejo de errores de tu php)

¡Gracias por informarlo!

Una vez que este PR se fusione y se lance 2.4.5, se solucionará.

cc @simon

Gracias @Fma965 y @angus, la versión 2.4.5 de WP Discourse ya está disponible en el repositorio de WordPress.

Gracias Angus, ya he cambiado la dirección del SSO, fue más sencillo de lo que pensaba, solo importé los usuarios y los marqué como verificados y luego hice que los usuarios restablecieran la contraseña.

De todos modos, debido a esto no puedo probarlo, pero estoy seguro de que funciona como se esperaba, gracias por solucionarlo tan rápido.

y gracias @simon por lanzarlo.