SSO 重定向链接

嘿,我们目前除了 redirect_to 参数外,没有其他实施计划。

“将用户重定向回他们原本所在的页面”看似简单,实则复杂得多,存在不少边缘情况。如果我们将其作为核心功能添加,就等于承诺支持所有这些边缘情况 :slight_smile: 正如您可能想象的那样,WordPress 网站的配置方式多种多样。

我之前已经给您提供了一些提示,但为了进一步帮助您,您或您的开发人员可以这样做:扩展现有的短代码,使其自动将 route_to 设置为当前网站 URL。然后,您可以针对自己特定的网站处理相关的边缘情况。

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' );

然后在您的模板中使用短代码 [discourse_sso_client_link_with_redirect]