Enlace de redirección SSO

Hola, no tenemos planes actuales de implementar nada aquí más allá del parámetro redirect_to.

Hacer que “redirija a alguien de vuelta a la misma página en la que estaba” es un poco más complicado de lo que parece. Hay bastantes casos límite. Si lo agregáramos como una función central, esencialmente estaríamos comprometiéndonos a admitir todos esos casos límite también :slight_smile: Como puedes imaginar, hay muchas formas diferentes de configurar un sitio de WordPress.

Ya te di un pequeño pista sobre esto, pero para ayudarte un poco más, tú o tu desarrollador querrán hacer algo así, es decir, extender el shortcode existente para establecer automáticamente route_to en la URL actual del sitio. Luego, puedes resolver los casos límite para tu sitio específico.

En functions.php

use WPDiscourse\SSOClient\SSOClientShortcode;

function render_discourse_sso_client_link_with_redirect() {
    $sso = new SSOClientShortcode();
    $protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http");
    $current_url = "$protocol://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    $options = array(
      "redirect"  => $current_url,
      "login"     => "Iniciar sesión"
    );
    return $sso->discourse_sso_client_shortcode( $options );
}
add_shortcode( 'discourse_sso_client_link_with_redirect', 'render_discourse_sso_client_link_with_redirect' );

Luego, en tu plantilla, usa el shortcode [discourse_sso_client_link_with_redirect]