소스라이브의 토큰은 JWT 토큰
을 사용하며 파트너사 가입 시 전달하는 "RSA Private Key"
를 사용하여 서명(signature) 하여 전달합니다.
해당 토큰이 만료 되면 소스라이브 Player에서 채팅을 할 수 없으며 파트너사 로그인 연동 페이지로 redirect 됩니다. 이 때 새로운 JWT 토큰의 생성 및 전달이 필요합니다.
만들어진 토큰은 base64로 인코딩 후 전달합니다.
JWT Payload
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
partnerId | string | true | None | 발급 받은 파트너사 아이 |
memberId | string | true | None | 파트너사 회원의 고유 아이디 |
nickName | string | true | None | 채팅 시 표시되는 닉네임 (주의 : 닉네임은 그대로 노출되기 때문에 실명 등을 사용 시에는 마스킹 처리 필요) |
memberType | string | true | None | 시청자 타입 (회원 : 1, 비회원 : 0) |
age | string | false | etc | 통계 데이터 수집용 연령대 (10대 : 10, 20대 : 20, 30대 : 30, 40대:40, 50대: 50, 60대: 60, 기타: etc) |
gender | string | false | e | 통계 데이터 수집용 성별 (남성 : m, 여성 : w, 기타 : e) |
주의사항
- 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 파일의 내용으로 서명합니다. 이것은 회원 연동을 위한 토큰 생성 입니다.