Saucelive uses a JWT token
for authentication, which is signed with the partner's "RSA Private Key
" provided during onboarding.
When the token expires, chat functionality in the Saucelive Player becomes unavailable, and the user is redirected to the partner’s login page.
At this point, a new JWT token must be generated and delivered.
The generated token must be Base64-encoded before transmission.
JWT Payload
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
partnerId | string | true | None | Issued partner company ID |
memberId | string | true | None | Unique ID of partner company member |
nickName | string | true | None | Nickname displayed during chat (Caution: Nickname is exposed as is, so masking is required when using real name, etc.) |
age | string | false | etc | Age group for statistical data collection (teens: 10, 20s: 20, 30s: 30, 40s: 40, 50s: 50, 60s: 60, etc.) |
gender | string | false | e | Gender for statistical data collection (male: m, female: w, other: e) |
memberType | string | false | 0 | Viewer type (member: 1, non-member: 0) |
Caution
- The expiration time of the JWT token follows the “exp” value of the (registered) Claim determined by the generating partner company.
- Nicknames are exposed as is, so when using real names, etc., they must be masked.
Example
# JWT Header
{
"typ": "JWT",
"alg": "RS256"
}
# JWT Payload
{
"partnerId": "mobidoo", // Partner ID,
"memberId": "userId", // Partner's member unique ID
"nickName": "mobidoo", // Nick name to use when chatting
"age": "20", // Age range for statistical data collection
"gender": "e", // Gender for statistical data collection
"memberType": "0", // Viewer type
}
# JWT Signature
RSASHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
(private Key)
)
What is used to sign the token with the private key?
The token is signed using the contents of the
id_rsa_priv
file.
This is used to generate a token for user authentication.