JWT Token 생성

소스라이브의 토큰은 JWT 토큰을 사용하며 파트너사 가입 시 전달하는 "RSA Private Key" 를 사용하여 서명(signature) 하여 전달합니다.

해당 토큰이 만료 되면 소스라이브 Player에서 채팅을 할 수 없으며 파트너사 로그인 연동 페이지로 redirect 됩니다. 이 때 새로운 JWT 토큰의 생성 및 전달이 필요합니다.

만들어진 토큰은 base64로 인코딩 후 전달합니다.

JWT Payload

ParameterTypeRequiredDefaultDescription
partnerIdstringtrueNone발급 받은 파트너사 아이
memberIdstringtrueNone파트너사 회원의 고유 아이디
nickNamestringtrueNone채팅 시 표시되는 닉네임
(주의 : 닉네임은 그대로 노출되기 때문에 실명 등을 사용 시에는 마스킹 처리 필요)
agestringfalseetc통계 데이터 수집용 연령대
(10대 : 10, 20대 : 20, 30대 : 30, 40대:40, 50대: 50, 60대: 60, 기타: etc)
genderstringfalsee통계 데이터 수집용 성별
(남성 : m, 여성 : w, 기타 : e)
memberTypestringfalse0시청자 타입 (회원 : 1, 비회원 : 0)

🚧

주의사항

  • JWT 토큰의 만료 시간은 생성하는 파트너스사에서 정한 (registered) Claim 의 "exp" 값을 따릅니다.
  • 닉네임은 그대로 노출되기 때문에 실명 등을 사용 시에는 마스킹 처리를 해야 합니다.

Example

# JWT Header
{
    "typ": "JWT",
    "alg": "RS256"
}
# JWT Payload
{
    "partnerId": "mobidoo", // 파트너사 ID,
    "memberId": "userId", // 파트너사 회원의 고유 ID
    "nickName": "모비두", // 채팅시 사용할 Nick Name
    "age": "20", // 통계데이터 수집용 연령대
    "gender": "e", // 통계데이터 수집용 성별
    "memberType": "0", // 시청자 타입
}
# JWT Signature
RSASHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  (private Key)
)

📘

private key는 무엇으로 서명하나요?

private Key 는 id_rsa_priv.pem 파일의 내용으로 서명합니다. 이것은 회원 연동을 위한 토큰 생성 입니다.