SSO redirect link

안녕하세요, 현재 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]를 사용하시면 됩니다.