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_privfile.
This is used to generate a token for user authentication.
