GuidesAPI GuideChangelog
Log In
Guides

사용자 인증

사용자 인증 — 소스라이브 플레이어

소스라이브 플레이어는 네 가지 인증 방식을 지원합니다. 서비스 단계와 보안 요구사항에 따라 적합한 방식을 선택하세요. 대부분의 실제 서비스에는 JWT 인증을 권장합니다.

예상 소요 시간: 10~30분 (인증 방식에 따라 상이)
📋 사전 조건: 라이브러리 설치 및 플레이어 실행 확인
어떤 인증 방식이 맞을까요?

상황에 맞게 선택하면 적합한 인증 방식을 추천해 드립니다.

1
2
3
4
지금 어떤 단계인가요?
인증 방식 비교

네 가지 방식의 기능과 제약을 한눈에 비교하세요.

🔐JWT 인증권장 서버에서 서명된 토큰으로 인증. ID 위변조 방지 및 보안 강화. 🪪간편 인증 회원 ID·닉네임을 직접 전달. 서버 구현 없이 빠르게 시작. 👤게스트 모드 사용자 정보 없이 플레이어만 실행. 별도 인증 불필요. 🪟플레이어 내 로그인 로그인 필요 시 플레이어 내 모달로 처리. 개발 코드 불필요.
채팅 참여 ✓ 가능 ✓ 가능 제한 ✓ 가능
ID 위변조 방지 ✓ 지원 ✗ 미지원 ✓ 지원
서버 구현 필요 필요 불필요 불필요 불필요
구현 난이도 보통 쉬움 매우 쉬움 매우 쉬움
인증 방식별 구현 코드

적용할 인증 방식의 탭을 선택하세요.

💡 이 방식이 적합한 상황 — 로그인 없이 공개 라이브를 운영할 때. 채팅·쿠폰·리워드 등 회원 기능이 필요하다면 간편 인증 또는 JWT 인증으로 전환하세요.
HTML — 게스트 모드
<div id='sauce_live'></div>
<script type="text/javascript"
        src="https://player.sauceflex.com/static/js/SauceLiveLib.js"></script>
<script>
  window.SauceLiveLib.setInit({ broadcastId: '라이브ID를 입력해주세요' });
  window.SauceLiveLib.load(); // 기본 컨테이너 ID: 'sauce_live'
</script>
이 방식이 적합한 상황 — JWT 서버 구현이 어렵거나 웹빌더 연동을 시도할 때.

setMemberObject()로 회원 ID와 닉네임을 플레이어에 직접 전달합니다. 서버 구현 없이 빠르게 적용할 수 있지만, 클라이언트에서 ID를 직접 전달하므로 위변조 방지가 되지 않습니다.

HTML — 간편 인증
<div id='sauce_live'></div>
<script type="text/javascript"
        src="https://player.sauceflex.com/static/js/SauceLiveLib.js"></script>
<script>
  window.SauceLiveLib.setInit({ broadcastId: '라이브ID를 입력해주세요' });
  window.SauceLiveLib.setMemberObject({
    memberId: '고객사 회원 고유 ID',  // 필수
    nickName: '채팅에 표시될 닉네임', // 필수
    age: '20',      // 선택 (통계용: 10, 20, 30, 40, 50, 60)
    gender: 'm',   // 선택 (통계용: 'm' 남성, 'w' 여성)
  });
  window.SauceLiveLib.load();
</script>
파라미터타입필수기본값설명
memberIdString필수고객사 고유 회원 ID
nickNameString필수채팅창에 표시되는 닉네임
memberType"0" | "1"선택회원 구분. "1" = 회원, "0" = 비회원
ageString선택통계 데이터 수집용 나이대. (예: '10', '20', '30' …)
genderString선택통계 데이터 수집용 성별. 'm' 남성, 'w' 여성
실제 사용 예시 — 로그인 상태에 따른 분기 처리
JavaScript
// 1. 고객사 API로 로그인 회원 정보를 조회합니다
const response = await fetch(`YOUR_MEMBER_API`);
const { memberId, nickName } = await response.json();

// 2. URL 파라미터에서 라이브 ID를 가져옵니다

const params = new URLSearchParams(window.location.search);
const broadcastId = params.get('broadcastId');

if (memberId && broadcastId) {
  // 3a. 로그인 사용자: 회원 정보와 함께 플레이어 실행
  window.SauceLiveLib.setInit({ broadcastId });
  window.SauceLiveLib.setMemberObject({ memberId, nickName });
  window.SauceLiveLib.load();
} else if (broadcastId) {
  // 3b. 게스트: 인증 없이 플레이어 실행
  window.SauceLiveLib.setInit({ broadcastId });
  window.SauceLiveLib.load();
}
⚠️ 보안 주의 — 간편 인증은 클라이언트에서 회원 ID를 직접 전달하므로 임의의 ID로 악용될 수 있습니다.
⬆ JWT 인증으로 전환이 필요한 경우

간편 인증으로 시작했더라도, 아래 상황이 생기면 JWT 인증 전환을 검토하세요.

🚨
타인 ID 악용 신고가 발생했을 때 — 간편 인증은 클라이언트에서 memberId를 임의로 조작할 수 있습니다.
🛒
쿠폰·리워드 발급과 연계해 실제 비용이 발생하는 기능을 붙일 때 — 위변조된 ID로 중복 수령이 가능하므로 JWT 인증이 필요합니다.
🔄 전환 부담은 낮습니다. setMemberObject()setMemberToken()으로 교체하고, 서버에서 JWT를 발급해 전달하면 됩니다. 나머지 코드는 그대로 유지됩니다.
🔐 이 방식이 적합한 상황 — 채팅·쿠폰·리워드 등 회원 기능을 모두 활용하는 경우, ID 위변조·악용 방지가 필요한 경우. 대부분의 실제 서비스에는 JWT 인증을 권장합니다.
🔑 사전 조건 — PEM 키(RS256 개인키) 발급 필요
JWT 인증은 소스라이브가 발급한 RS256 개인키(PEM)로 토큰에 서명해야 합니다. 아직 발급받지 않았다면 고객성공팀에 문의하여 PEM 키를 먼저 발급받으세요. 발급받은 키는 반드시 서버에서만 보관하고, 클라이언트 코드에 포함하지 마세요.

서버에서 발급한 JWT 토큰을 setMemberToken()으로 전달합니다. 토큰은 서버에서만 생성되므로 ID 위변조를 방지할 수 있습니다. JWT 토큰 생성 방법은 JWT 토큰 생성 가이드를 참고하세요.

HTML — JWT 인증
<div id='sauce_live'></div>
<script type="text/javascript"
        src="https://player.sauceflex.com/static/js/SauceLiveLib.js"></script>
<script>
  window.SauceLiveLib.setInit({ broadcastId: '라이브ID를 입력해주세요' });
  window.SauceLiveLib.setMemberToken('서버에서 발급한 JWT 토큰');
  window.SauceLiveLib.load();
</script>
파라미터타입필수기본값설명
tokenString필수서버에서 RSA Private Key로 서명한 JWT 토큰 (Base64 인코딩)
JWT 토큰 생성 체크리스트
JWT 토큰 설정 후에도 로그인 하지 않은 상태로 처리되는 경우 아래 항목을 확인하세요.

① JWT Header에 "typ": "JWT", "alg": "RS256"을 추가했나요?
② 발급받은 PEM 키로 토큰을 생성했나요?
③ 생성된 토큰을 Base64로 인코딩했나요?
④ payload 필수값(partnerId, memberId, nickName, memberType)이 모두 포함되어 있나요?
🪟 이 방식이 적합한 상황 — 자사몰 로그인 시스템을 플레이어 안에서 직접 처리하고 싶을 때. 게스트가 채팅·쿠폰·리워드 등 로그인이 필요한 기능을 실행하면 자동으로 로그인 모달이 표시됩니다.
⚙️ 사전 조건 — 고객성공팀 설정 필요
플레이어 내 로그인은 소스라이브 어드민에서 별도 활성화가 필요합니다. 사용 전에 고객성공팀에 문의하여 설정을 먼저 완료하세요.
동작 방식
1️⃣
로그인 하지 않은 상태에서 로그인이 필요한 기능 실행 — 채팅 참여, 쿠폰 다운로드, 리워드 응모 등을 시도하면 플레이어 내 로그인 모달이 자동으로 표시됩니다.
2️⃣
모달에서 로그인 정보 입력 후 로그인 — 사용자가 로그인 폼에 정보를 입력하고 로그인 버튼을 누르면 인증이 완료됩니다.
3️⃣
로그인 완료 후 기능 사용 가능 — 인증이 완료되면 모달이 닫히고, 로그인이 필요했던 기능을 이어서 사용할 수 있습니다.
⚠️ 지원되지 않는 기능
상품 찜하기 등 일부 기능은 플레이어 내 로그인에서 사용할 수 없습니다. 지원 여부가 불확실한 기능이 있다면 고객성공팀 문의 시 함께 확인하세요.
💡 개발 코드가 필요하지 않습니다. 다른 인증 방식(setMemberObject, setMemberToken)을 호출하지 않아도 플레이어가 자동으로 로그인 모달을 처리합니다. 기존 연동 코드 변경 없이 고객성공팀을 통한 설정만으로 활성화됩니다.
로그인 모달 화면

사용하는 인증 방식에 따라 플레이어에 표시되는 모달이 다릅니다.

자사몰 로그인 연동 방식
자사몰 로그인 연동 방식 — 로그인 안내 모달
로그인 안내 모달
플레이어 내 로그인 방식
플레이어 내 로그인 — 채팅 닉네임 설정 모달
채팅 닉네임 설정 모달


bot에 문의하기