Suite | 모든 플랜 |
대화형 지원 제공 시 사용자는 여러 기기와 채널에서 대화를 계속하려고 할 수 있습니다. 최종 사용자를 인증하면 모든 연락 포인트가 올바른 최종 사용자에게 연결되도록 보장할 수 있습니다. 이를 통해 상담사가 제공하는 지원의 품질을 향상하고 상담사가 최종 사용자를 지원하는 동안 나타날 수 있는 민감한 정보의 보안을 강화할 수 있습니다.
관련 문서: 메시징을 위한 사용자 인증 이해하기
메시징 인증 용어
- JWT: Zendesk는 서명된 JSON 웹 토큰(JWT)을 사용하여 메시징을 위한 최종 사용자를 인증합니다. 이러한 토큰에는 최종 사용자의 신원을 확인하는 세부 정보가 포함되어 있습니다. JWT에 대한 자세한 내용은 jwt.io를 참조하세요.
- 서명 키: 서명 키는 관리 센터의 Zendesk 관리자가 만들고 팀의 개발자와 공유하면 개발자가 이를 사용하여 필요에 따라 JWT에 서명합니다.
- 외부 ID: 외부 시스템의 ID와 같은 영숫자 문자열로 각 사용자에게 고유합니다. JWT에 이메일 주소가 포함되어 있을 때에도 메시징 인증을 위한 기본 ID입니다.
- 사용자 이름: (선택 사항) 외부 ID나 이메일 주소와 연결된 최종 사용자의 이름입니다. JWT에 사용자의 이름을 포함하면 상담사 워크스페이스에 나타납니다. 이 정보는 상담사가 최종 사용자와 소통하는 데 도움이 될 수 있습니다.
- 이메일: (선택 사항) 최종 사용자와 연결된 고유한 이메일 주소입니다.
최종 사용자를 위한 메시징 인증 구현의 개요
Zendesk는 JSON 웹 토큰(JWT)을 사용하여 메시징 최종 사용자를 인증합니다. 이를 통해 사용자 ID를 확인하고 API 엔드포인트를 보호하는 유연하고 상태 비저장 방식을 제공합니다.
- 메시징 인증 프로세스는 관리자가 서명 키를 생성하여 개발자에게 제공하는 것부터 시작합니다. 그런 후 개발자는 서명 키를 사용하여 요청에 따라 사용자를 위한 서명된 JWT를 만들 수 있는 백엔드 서비스를 구현합니다.
- 요청 시 백엔드 서비스는 서명된 JWT를 만들어 웹사이트나 모바일 앱에 반환합니다. 이 서비스로 만든 JWT에는 고유한 외부 ID가 포함되어야 하며 선택 사항으로 최종 사용자를 식별하는 이메일 주소도 포함되어야 합니다.
- 사용자가 로그인할 때 웹사이트나 앱은 웹 위젯이나 모바일 SDK에 사용할 수 있는 동등한 로그인 API를 호출해야 하며, 이때 JWT가 Zendesk에 전달되어 사용자가 주장하는 신원을 확인합니다.
특히 팀의 개발자를 위한 자세한 내용은 Zendesk SDK로 메시징의 인증된 방문자 사용 설정하기를 참조하거나 다음 동영상을 시청하세요.
웹 메시징에서 최종 사용자 인증하기(17:22)
서명 키 만들기 및 공유하기
개발자는 서명 키를 사용하여 최종 사용자를 위한 JWT를 만듭니다. 관리자만 서명 키를 만들 수 있습니다. 최대 10개의 키를 만들 수 있습니다. 10개 한도에 도달한 후 새 키를 만들려고 시도하면 미사용 키를 삭제하라는 메시지가 표시됩니다.
- 관리 센터의 사이드바에서
계정을 클릭한 다음 보안 > 최종 사용자 인증을 선택합니다.
-
메시징 탭을 클릭한 다음 키 만들기를 클릭합니다.
첫 번째 키를 만드는 경우에는 페이지 아래쪽에 키 만들기가 나타납니다. 그렇지 않은 경우에는 오른쪽 위에 나타납니다.
- 키의 이름을 입력하고 다음을 클릭합니다.
- 메시지가 표시되면 복사를 클릭하여 공유 비밀키를 복사합니다.
키가 저장되고 자동으로 ID가 배정됩니다. 최종 사용자 인증 페이지의 메시징 탭에 있는 키 목록에서 키의 ID를 찾을 수 있습니다.
- 복사한 키의 ID와 공유 비밀키를 비공개로 개발자에게 보냅니다.
- 키 영구 숨기기를 클릭합니다.
외부 ID로만 최종 사용자 인증하기
최종 사용자를 인증하려면 사용자에게 발급하는JWT에 외부 ID를 제공해야 합니다. Zendesk는 JWT에 제공된 외부 ID를 메시징을 위한 사용자 인증의 기본 식별자로 사용합니다. 사용자 인증을 수행할 때 Zendesk는 먼저 외부 ID로 기존 사용자를 확인합니다. JWT에 이메일 주소가 포함된 경우에는 외부 ID와 일치하는 기존 사용자가 없을 때만 사용자 ID를 확인하는데 사용됩니다.
외부 ID로만 JWT 서명하기
- external_id: (필수) 각 사용자를 식별하는 데 사용될 수 있는 고유한 영숫자 문자열입니다. 사용자에게 발급된 JWT에서 사용할 외부 ID 선택하기를 참조하세요.
-
scope: (필수) 통화 상대의 액세스 범위입니다. 유일하게 올바른 값은
user
입니다. - name: (선택 사항) 사용자의 이름입니다. JWT 페이로드에 이름을 포함하면 Zendesk가 상담사 워크스페이스에 사용자의 이름을 표시할 수 있으며, 상담사가 더욱 맞춤화된 지원을 제공하는 데 도움이 됩니다.
{
"external_id": "12345678",
"scope": "user",
"name": "Jane Soap"
}
사용자에게 발급된 JWT에서 사용할 외부 ID 선택하기
- 외부 ID는 영숫자 문자열이어야 합니다.
- 외부 ID는 최대 255자까지 가능합니다.
- 각 사용자의 외부 ID는 계정 수준에서 전역적으로 고유해야 합니다.
계정에 여러 브랜드가 있는 경우에는 외부 ID가 모든 브랜드에서 고유해야 합니다.
- 사용자의 외부 ID는 절대 변경될 수 없습니다.
- 사용자에게 하나의 외부 ID만 배정될 수 있습니다.
훌륭한 외부 ID 선택의 일부 예로는 처음 연락 시 배정되는 증분 또는 무작위 ID(예: usr_12345) 또는 여러 브랜드의 경우 배정된 증분 또는 무작위 ID와 결합한 브랜드별 식별자(예: brand1_a8dedg)가 있습니다.
사용자의 이메일 주소와 전화번호는 시간이 지남에 따라 변경될 수 있으며 사용자가 여러 값을 가질 수 있으므로 사용하지 마세요. 사용자의 이름 역시 고유하지 않을 수 있으므로 피하세요.
사용자 인증에 이메일 ID 통합하기
- 인증된 사용자는 서명된 JWT를 통해 인증됩니다.
서명된 JWT의 콘텐츠는 최종 사용자에 의해 훼손될 수 없으므로 JWT의 사용은 신뢰할 수 있는 접근 방식을 제공합니다. 사칭 공격이 우려된다면 이메일 ID를 인증된 최종 사용자로 제한해야 합니다. 이는 가장 안전한 옵션으로 새 Zendesk 계정에 대한 기본 구성입니다.
- 인증되지 않은 사용자는 Zendesk 봇의 메시지에 응답하여 이메일 주소를 제공하는 최종 사용자입니다.
인증되지 않은 사용자에게 이메일 ID 사용을 허용하면 자신이 소유하지 않은 이메일 주소를 제공하여 다른 사용자를 사칭하는 사람들에게 취약해질 수 있다는 점을 염두에 두세요.
다음 플로우 차트는 메시징 인증에서 이메일 ID가 사용되는 방식을 보여줍니다.
이메일 ID 구성하기
웹 위젯 또는 모바일 앱을 사용하면 사용자는 양식이나 AI 상담사 프롬프트에 따라 이메일 주소를 제공할 수 있습니다. 이러한 시나리오에서는 악의적인 사용자가 다른 사람을 사칭할 의도로 다른 사람의 이메일 주소를 제공하는 것을 막을 수 있는 방법이 없습니다. 하지만 JWT를 사용하여 외부 ID와 이메일 ID 둘 다로 사용자를 인증하면 더 신뢰할 수 있는 방법으로 사용자에게 이메일 주소를 배정할 수 있습니다.
설정에 따라 상담사는 사용자 프로필에서 양식을 통해 수집한 이메일 주소와 JWT가 제공한 이메일 주소를 둘 다 볼 수도 있습니다. 새 Zendesk 계정에서는 이메일 ID가 확인된 이메일 주소만 사용하도록 설정 및 구성되어 있습니다. 이는 가장 안전한 옵션입니다. 이전 계정은 확인된 이메일 주소와 확인되지 않은 이메일 주소 둘 다 사용하도록 구성되어 있습니다.
- 관리 센터의 사이드바에서
채널을 클릭한 다음 메시징 및 소셜 > 메시징을 선택합니다.
- 설정 관리를 클릭합니다.
-
이메일 ID를 클릭한 후 다음 옵션 중 하나를 선택합니다.
- 확인된 이메일만 사용: (기본) 인증된 상태이며 발급된 JWT에 포함된 확인된 이메일 주소가 있는 사용자에 대해서만 이메일 ID가 만들어집니다.
- 확인된 이메일과 확인되지 않은 이메일을 모두 사용: 인증된 사용자의 이메일 ID가 사용자 프로필에 표시되는 것 외에도, AI 상담사 플로우를 통해 사용자가 제공한 인증되지 않은 이메일 주소도 사용자 프로필에 추가됩니다.
- (권장되지 않음) 인증되지 않은 사용자라도 모든 사용자가 확인된 이메일 주소를 주장할 수 있도록 하려면 인증되지 않은 사용자가 확인된 이메일에 대한 소유권을 주장할 수 있음을 선택합니다.
- 설정 저장을 클릭합니다.
확인된 이메일만 사용하기
인증된 상태이며 발급된 JWT에 포함된 확인된 이메일 주소가 있는 사용자에 대해서만 이메일 ID가 만들어집니다.
이 옵션을 사용하면 상담사가 대화 기록에서 인증되지 않은 사용자가 제공한 이메일 주소를 볼 수 있지만 사용자에게 첨부된 이메일 ID는 볼 수 없습니다. 상담사가 이메일을 통해 인증되지 않은 사용자에게 후속 조치를 취해야 하는 경우에는 해당 사용자 레코드에 수동으로 이메일 ID를 추가해야 합니다.
확인된 이메일과 확인되지 않은 이메일을 모두 사용하기
인증된 사용자의 이메일 ID가 사용자 프로필에 표시되는 것 외에도, AI 상담사 플로우를 통해 사용자가 제공한 인증되지 않은 이메일 주소도 사용자 프로필에 추가됩니다.
이 옵션은 악의적인 사용자가 여전히 사칭 공격을 시도할 수 있으므로 보안성이 훨씬 낮습니다. 하지만 상담사는 사용자 프로필을 검사하여 이메일 주소가 확인되었는지 여부를 판단할 수 있습니다. 확인되지 않은 이메일 주소는 상담사 워크스페이스에 명확하게 표시되어 있습니다. 상담사가 이메일 후속 작업을 보내야 할 때, 안내에 따라 보안 질문으로 최종 사용자를 확인하여 최종 사용자 본인이 맞다는 신뢰도를 높일 수 있습니다.
이벤트 순서 | 이벤트 | 그 결과 이메일 ID |
---|---|---|
1 | 인증되지 않은 사용자가 양식에서 수집한 이메일을 제공합니다. 예: alice@example.org | Zendesk가 확인되지 않은 이메일 ID(예: alice@example.org)로 인증되지 않은 새 사용자(ID: 12345)를 만듭니다. |
2 | 인증된 사용자에게 다음과 같은 클레임으로 JWT가 발급됩니다.
|
Zendesk가 확인된 이메일 ID(예: alice@example.org)로 인증된 새 사용자(ID: 22345)를 만듭니다. 인증되지 않은 사용자(ID: 12345)는 확인된 ID로 대체되어 인증되지 않은 이메일 ID를 잃게 됩니다. |
인증되지 않은 사용자가 확인된 이메일을 클레임하도록 허용하기(권장되지 않음)
다른 이메일 ID 옵션과 달리, 이 설정을 사용하면 메시지가 표시될 때 해당 사용자의 이메일 주소를 제공하는 것만으로 사용자가 인증된 사용자의 ID를 가정할 수 있습니다. 이 옵션이 선택되어 있을 때에는 확인된 이메일이 확인되지 않은 이메일보다 우선하지 않습니다.
이 옵션은 가장 안전하지 않고 사칭 공격을 받기가 가장 쉽습니다. 하지만 부지런한 상담사는 사용자의 프로필과 메시지 옆에 있는 녹색 체크 표시 아이콘(사용자 인증 여부를 나타냄)을 확인하여 이 시나리오에서 잠재적인 사칭자를 감지할 수 있습니다.
이 옵션을 선택하면 사용자가 인증되고 나중에 메시징 상호작용에서 자신의 이메일 상태를 차지한 후 사칭자가 나타날 수 있으므로 메시징 채널에서 수집한 이메일 ID의 확인 상태는 더 이상 신뢰할 수 없습니다. 즉, 사칭 공격이 성공할 가능성이 더 높으며 최종 사용자가 자신이 주장하는 사람인지 알 수 있는 상담사의 수단이 제한적입니다. 하지만 확인된 이메일 ID가 여전히 확인되지 않은 이메일 ID를 대체하며, 해당 이메일 ID는 사칭자의 사용자 레코드에서 제거됩니다.
이메일 주소로 JWT 발급하기
- external_id: (필수) 각 사용자를 식별하는 데 사용될 수 있는 고유한 영숫자 문자열입니다. 사용자에게 발급된 JWT에서 사용할 외부 ID 선택하기를 참조하세요.
-
scope: (필수) 통화 상대의 액세스 범위입니다. 유일하게 올바른 값은
user
입니다. - name: (선택 사항) 사용자의 이름입니다. JWT 페이로드에 이름을 포함하면 Zendesk가 상담사 워크스페이스에 사용자의 이름을 표시할 수 있으며, 상담사가 더욱 맞춤화된 지원을 제공하는 데 도움이 됩니다.
-
email: (필수) 로그인하는 사용자의 이메일 주소입니다. 사용자마다 고유해야 합니다.
이메일 주소를 상담사 워크스페이스에 있는 사용자의 기본 이메일 주소로 설정하세요. JWT에 보조 이메일 주소를 포함하는 것은 지원되지 않습니다.
-
email_verified: (선택 사항) 해당 최종 사용자가 이메일 주소의 소유권을 증명했는지 여부입니다. 최종 사용자가 확인된 이메일 ID를 가지도록 하려면 발급하는 JWT에
email
및"email_verified": true
클레임을 모두 포함해야 합니다.
{
"external_id": "12345678",
"email": "janes@soap.com",
"email_verified": true,
"name": "Jane Soap",
"scope": "user"
}
JWT에서 외부 ID와 이메일 간의 충돌 해결하기
Zendesk는 외부 ID를 기본 식별자로 사용하며, 외부 ID에 일치하는 항목을 찾을 수 없는 경우에만 이메일 주소가 사용됩니다.
충돌을 피하기 위해 메시징 인증을 구현하는 것이 가장 좋습니다. 예를 들어 Zendesk에서 외부 ID와 이메일 설정을 선택하여 충돌하지 않도록 하세요. 하지만 JWT에 있는 이메일 주소가 다른 외부 ID와 이미 연결되어 있는 경우에는 Zendesk에서 JWT를 거부하고 최종 사용자의 로그인 시도가 실패합니다. 이런 일이 발생하면 인증되지 않은 상태의 사용자와 대화가 시작됩니다.
- 서로 다른
external_id
값 또는email
주소를 사용하도록 JWT를 업데이트합니다.또는
- 충돌하는
external_id
를 가진 사용자를 삭제하여 다른 최종 사용자가 사용할 수 있도록 합니다. Sunshine Conversations API에서 사용자 삭제를 참조하세요.
댓글 0개