换取用户凭证
功能
用户先在接入方小程序里登录。小鹅不使用这套登录态。这个接口让接入方后台用自己的用户 ID 向小鹅换一张用户 JWT。之后 SDK 的每次请求都带这张 JWT。接入方控制台的登录令牌不能代替它。
JWT 有效期 15 分钟。接口返回 401 时,SDK 会用 forceRefresh 再要一次 token,并只重试这一次请求。同一用户可以换到新 JWT,未过期的旧 JWT 仍然有效。
接口
POST /open/api/v1/sdk/tokens
鉴权:接入方后台 HMAC。签名规则见接口说明。
调用方:接入方后台。小程序和 SDK 不持有 AK/SK。
请求体
| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
external_user_id | string | 必填,最长 128 | 这个用户在接入方系统里的唯一 ID。小鹅用它识别是谁。不要传控制台账号。 |
返回值
成功时 code 为 0,下面的字段在 data 里。
| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
access_token | string | 是 | 小鹅签发的用户 JWT。getToken 要返回这个字符串本身,不要把整段 JSON 交给 SDK。 |
expires_in | number | 是 | 有效秒数,当前为 900,也就是 15 分钟。 |
token_type | string | 是 | 固定为 Bearer。SDK 请求头写成 Authorization: Bearer access_token。 |
示例
curlbash
# 先设置 CHANNEL_ACCESS_KEY、CHANNEL_SECRET_KEY,并按接口说明计算 signature
curl --request POST 'https://api.channel.suiinn.com/open/api/v1/sdk/tokens' \
--header 'X-Channel-Key: $CHANNEL_ACCESS_KEY' \
--header 'X-Channel-Timestamp: $timestamp' \
--header 'X-Channel-Nonce: $nonce' \
--header 'X-Channel-Signature: $signature' \
--header 'Content-Type: application/json' \
--data-raw '{
"external_user_id": "your-user-id"
}'