Link di reindirizzamento SSO

Ehi, al momento non abbiamo piani per implementare nulla qui oltre al parametro redirect_to.

Riuscire a “reindirizzare qualcuno alla stessa pagina in cui si trovava” è un po’ più complicato di quanto sembri. Ci sono molti casi limite. Se aggiungessimo questa funzione come funzionalità principale, ci impegnerebbe di fatto a supportare tutti quei casi limite :slight_smile: Come puoi immaginare, ci sono molti modi diversi per configurare un sito WordPress.

Ti ho già dato un piccolo suggerimento su questo, ma per aiutarti ulteriormente, tu o il tuo sviluppatore dovrete fare qualcosa di simile, ovvero estendere lo shortcode esistente per impostare automaticamente route_to sull’URL corrente del sito. Potrete poi gestire i casi limite specifici per il vostro sito.

In 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"     => "Login"
    );
    return $sso->discourse_sso_client_shortcode( $options );
}
add_shortcode( 'discourse_sso_client_link_with_redirect', 'render_discourse_sso_client_link_with_redirect' );

Quindi, nel tuo template, usa lo shortcode [discourse_sso_client_link_with_redirect]