사용 중인 플랜
모든 Suite Growth, Professional, Enterprise 또는 Enterprise Plus
Support Enterprise
고지 사항: 이 문서는 안내 목적으로만 제공되고 있습니다. Zendesk는 사용자 지정 코드를 지원하거나 보장하지 않습니다.

여러 브랜드를 설정할 때 보안 설정을 통해 원격 로그인에 대해 하나의 단일 URL만 설정할 수 있습니다. 각 브랜드에 대해 서로 다른 사용자 데이터베이스가 있는 경우에는 문제가 될 수 있습니다.

이 문서에서 설명된 접근 방식을 사용하면 Zendesk와 서버의 SSO 로그인 스크립트 사이에 스크립트를 만들어 고객이 로그인하려는 브랜드에 따라 특정 URL로 고객을 라우팅할 수 있습니다.

이 절차는 서버에 JWT를 이미 구성해 놓았다고 가정합니다. 그렇지 않은 경우에는 먼저 JWT 통합 인증 사용 설정하기 문서의 안내를 따르세요.

이 문서의 예에서는 PHP를 사용하지만 필요한 경우 다른 언어에 맞게 조정할 수 있습니다.

이 문서는 다음 섹션으로 구성되어 있습니다.

  • 두 개 이상의 브랜드 설정
  • JWT SSO가 설정된 두 개 이상의 사용자 인증 시스템
  • 스크립트
  • 보안 설정 업데이트
  • 중요 고려 사항
  • 문제 해결하기

두 개 이상의 브랜드 설정

이 절차를 따르려면 두 개 이상의 브랜드를 구성해야 합니다(아직 구성하지 않은 경우). 자세한 내용은 여러 브랜드 설정하기를 참조하세요. 설정하면서 브랜드 URL과 호스트 맵핑된 브랜드 URL을 저장하세요. 나중에 스크립트에서 사용하게 됩니다.

JWT SSO가 설정된 두 개 이상의 사용자 인증 시스템

Zendesk에서 하나의 JWT SSO 구성을 만들고 사용자 인증 시스템에서 두 개 이상의 구성을 만들어야 합니다. 각 브랜드에 대해 하나씩 이미 설정해 놓았을 수 있지만 보안 옵션에서 얻은 공유 비밀키는 모든 인증 시스템에서 동일해야 한다는 사실을 유념하세요.

이전 섹션의 정보와 더불어 로그인 URL 및 로그아웃 URL을 저장하세요.

스크립트

저장된 URL 목록은 다음과 같을 수 있습니다.

브랜드 1

호스트 맵핑되지 않은 URL: https://brand1.zendesk.com

호스트 맵핑된 URL: https://support1.example.com

브랜드 2

호스트 맵핑되지 않은 URL: https://brand2.zendesk.com

호스트 맵핑된 URL: https://support2.example.com

시스템 1

로그인 URL: https://page1.example.com/zdlogin.php

로그아웃 URL: https://page1.example.com/zdlogout.php

시스템 2

로그인 URL: https://page2.example.com/zdlogin.php

로그아웃 URL: https://page2.example.com/zdlogout.php

다음은 스크립트를 만들어 보죠. 각 브랜드 URL의 URL에서 https:// 부분을 제거하고 웹사이트 링크에서는 그대로 유지하세요.

아래에서 스크립트를 찾을 수도 있습니다.

  • zdlogin.php
  • zdlogout.php

로그인 스크립트

<?

$brand_URLs = array(
	"brand1.zendesk.com" => "https://page1.example.com/yourcustomloginjwtscript.php",
	"support1.example.com" => "https://page1.example.com/yourcustomloginjwtscript.php",
	"brand2.zendesk.com" => "https://page2.example.com/yourcustomloginjwtscript2.php",
	"support2.example.com" => "https://page2.example.com/yourcustomloginjwtscript2.php"
	);

foreach($brand_URLs as $k => $v){
	if(strpos($_GET['return_to'],$k)){
		header("Location: ". $v);
		die();
	}
}

?>

로그아웃 스크립트

<?

$brand_URLs = array(
	"brand1.zendesk.com" => "https://page1.example.com/yourcustomlogoutjwtscript.php",
	"support1.example.com" => "https://page1.example.com/yourcustomlogoutjwtscript.php",
	"brand2.zendesk.com" => "https://page2.example.com/yourcustomlogoutjwtscript.php",
	"support2.example.com" => "https://page2.example.com/yourcustomlogoutjwtscript.php"
	);

foreach($brand_URLs as $k => $v){
	if(strpos($_GET['return_to'],$k)){
		header("Location: ". $v);
		die();
	}
}
?>

보안 설정 업데이트

  1. 관리 센터 에서 사이드바에서 계정을 선택한 다음 보안을 선택합니다. >통합 인증 .
  2. SSO 구성 만들기를 클릭한 다음 JSON 웹 토큰을 선택합니다.
  3. 고유한 구성 이름을 입력합니다.
  4. 원격 로그인 URL에 로그인 스크립트의 URL을 입력합니다.
  5. 원격 로그아웃 URL에 로그아웃 스크립트의 URL을 입력합니다.
  6. 일부 고객이 동일한 이메일 주소로 두 개 이상의 사용자 인증 시스템에 계정을 보유한 경우 충돌을 피하기 위해 외부 ID의 업데이트에 설정을 선택해야 합니다.
  7. IT 팀에 공유 비밀키를 제공합니다. 이는 JWT 구현에 필요합니다.
  8. 변경 내용을 저장합니다.

Screen_Shot_2022-12-12_at_6.08.07_PM.png

중요 고려 사항

다음을 고려하세요.

  • 스크립트를 있는 그대로 사용하면 보안 위험이 낮습니다. 여기에 언급된 변경 사항 외에 광범위하게 수정하면 Zendesk가 아닌 자체 서버에 보안 취약성이 발생할 수 있습니다.
  • 하나의 JWT 토큰만 제공하므로 모든 SSO 스크립트가 인증 시스템에서 동일한 토큰을 사용합니다. 시스템 중 하나가 손상되면 모든 브랜드가 손상될 수 있습니다.
  • SSO를 시도할 때 “잘못된 JWT 요청” 오류가 발생하면 아래의 문제 해결 안내를 참조하세요.

문제 해결하기

올바르지 않은 JWT 요청 오류를 방지하려면 https://( defaultsubdomain ).zendesk.com/을 다음과 같이 하드코딩하세요./access/jwt?jwt= (defaultsubdomain) 은 기본 브랜드 하위 도메인입니다. 예: mydomain.zendesk.com.

  1. https://( defaultsubdomain ).zendesk.com을 SSO 스크립트에 하드코딩하여 JWT 페이로드가 항상 https://( defaultsubdomain ).zendesk.com/access/jwt로 전송되도록 합니다.
  2. 최종 사용자가 원래 헬프 센터로 다시 리디렉션되도록 'return_to'를 사용하도록 스크립트에 해당 스니펫을 구현합니다. 두 브랜드의 URL을 '( defaultsubdomain )'으로 고정으로 표시하고 'return_to'를 첨부하도록 페이로드를 첨부해야 합니다.

    다음 스니펫을 참조하세요.
if(isset($_GET["return_to"])) {
  $location .= "&return_to=" . urlencode($_GET["return_to"]);
}

번역 고지 사항: 본 문서는 콘텐츠에 대한 기본적인 이해를 제공하기 위해 자동 번역 소프트웨어를 사용하여 번역되었습니다. 정확한 번역을 제공하고자 합당한 노력을 기울였으나 Zendesk는 번역의 정확성을 보장하지 않습니다.

번역된 문서에 포함된 정보의 정확성과 관련하여 질문이 있으시면 문서의 공식 버전인 영문 버전을 참조하시기 바랍니다.

Zendesk 제공