WPDiscourse - Sair não está funcionando

?request=logout

Resulta no seguinte

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

Vou dar uma olhada nisso amanhã de manhã, horário da Europa Central (CET).

Sem problema, obrigado, pode ser algo do meu lado, mas seria bom saber se você consegue replicar ou não.

É a versão mais recente do WordPress e do Discourse Connect e do Discourse.

Também é PHP 8 (o que pode ser o problema?)

Estou usando o DiscourseConnect como cliente, não como provedor, não sei se isso importa?

Eventualmente, vou migrar para o WordPress como provedor, mas preciso determinar a melhor maneira de migrar todos os usuários :laughing:

@Fma965 Este é um bug legítimo. Ele está lá há quase um ano. Ocorre quando:

  • o WP é usado como cliente DiscourseConnect;
  • o logout de sincronização está ativado; e
  • (também depende do tratamento de erros do seu php)

Obrigado por reportar!

Assim que este PR for mesclado e o 2.4.5 for lançado, ele será corrigido.

cc @simon

Obrigado @Fma965 e @angus, a versão 2.4.5 do WP Discourse já está disponível no repositório do WordPress.

Obrigado, Angus, já alterei a direção do SSO, foi mais simples do que eu pensava, apenas importei os usuários e marquei como já verificados e depois pedi aos usuários para redefinir a senha.

De qualquer forma, por causa disso, não consigo testar, mas tenho certeza de que funciona como esperado, obrigado por resolver tão rapidamente.

e obrigado @simon por lançar