Skip to content

oauth.refreshToken

此接口为平台应用(APP)服务端实现,由SUD OpenPaaS服务端调用。

刷新访问令牌(refresh_token)。refresh_token过期后,需重新走授权流程。

调用方式:

  • HTTPS 调用

HTTPS 调用

http
POST {refresh_token_webhook}

请求参数 - Header

属性类型默认值必填说明
timestamplong毫秒时间戳,遵循通用防重放规则
noncestring32位以内随机字符串,遵循通用防重放规则
signstringRSA-SHA256签名,遵循通用签名规则
client_secretstring平台应用(APP)分配给SUD的应用密钥(应用级鉴权密钥,仅放在Header传递)

请求参数 - Body

属性类型默认值必填说明
client_idstring平台应用(APP)分配给SUD的应用ID
grant_typestring固定值:refresh_token(刷新令牌模式)
refresh_tokenstring{access_token_webhook} 接口获取的刷新令牌

返回值

Object

返回的 JSON 数据包

属性类型说明
ret_codeinteger响应码:0 表示成功,非0 表示失败
ret_msgstring响应描述信息:成功返回 "success",失败返回具体错误原因
dataobject业务数据体(仅 ret_code=0 时返回有效数据)
data.access_tokenstring平台应用(APP)颁发的访问令牌,后续拉取游戏/厂商数据接口需携带此令牌鉴权
data.refresh_tokenstring刷新令牌,用于 access_token 过期后重新获取新令牌(有效期长于access_token)
data.expires_inintegeraccess_token 有效期(单位:秒),默认7200秒(2小时),以接口返回值为准
data.cp_idstring平台侧OAuth层开发者/厂商唯一标识,与业务层cp_id一一映射

ret_code 的合法值

说明最低版本
0请求成功
40030invalid sign,检查签名算法及公私钥是否匹配
40031invalid refresh_token,刷新令牌错误或不属于该 client_id
42002refresh_token expired,刷新令牌已过期,需重新走授权流程

cURL 请求

bash
curl -X POST \
  {refresh_token_webhook} \
  -H 'Content-Type: application/json; charset=utf-8' \
  -H 'timestamp: 1668512806000' \
  -H 'nonce: abcdef1234567890' \
  -H 'sign: YOUR_RSA_SIGNATURE' \
  -H 'client_secret: YOUR_CLIENT_SECRET' \
  -d '{
  "client_id": "YOUR_CLIENT_ID",
  "grant_type": "refresh_token",
  "refresh_token": "YOUR_REFRESH_TOKEN"
}'

成功返回

json
{
  "ret_code": 0,
  "ret_msg": "success",
  "data": {
    "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
    "refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expires_in": 7200,
    "cp_id": "dev_123456789"
  }
}

错误返回

json
{
  "ret_code": 42002,
  "ret_msg": "refresh_token expired"
}