auth.getAccessToken
本接口应在服务器端调用,严禁在前端(APP 客户端、网页、小程序等)直接调用,避免凭证泄露风险。
获取接口调用凭据(Access Token)。该凭据是平台应用(APP)服务端调用 SUD OP SVR 后台接口的全局唯一凭证,用于身份验证与接口权限控制。不支持第三方平台代调用。
调用方式:
- HTTPS 调用
HTTPS 调用
http
POST https://{api-domain}/token请求参数 - Body
Content-Type 请使用 application/json。
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| grant_type | string | 是 | 固定填写 client_credential | |
| app_id | string | 是 | 平台应用 APPID | |
| app_secret | string | 是 | 平台应用密钥(AppSecret) | |
| force_refresh | boolean | false | 否 | 强制刷新模式开关。false: 普通模式(有效期内不更新);true: 强制刷新模式(立即使上次获取的 access_token 失效,返回新凭证,每天限用20次,两次调用间隔需≥30秒) |
返回值
Object
返回的 JSON 数据包
| 属性 | 类型 | 说明 |
|---|---|---|
| access_token | string | 获取到的全局唯一接口调用凭据 |
| expires_in | number | 凭证有效时间,单位:秒。目前是 7200 秒之内的值 |
cURL 请求
bash
curl -X POST \
'https://{api-domain}/token' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"grant_type": "client_credential",
"app_id": "YOUR_APP_ID",
"app_secret": "YOUR_APP_SECRET",
"force_refresh": false
}'成功返回
json
{
"access_token": "ACCESS_TOKEN",
"expires_in": 7200
}最佳实践与凭证管理
为了保障接口调用的稳定性与系统的安全性,强烈建议开发者遵循以下规范进行 access_token 的获取与维护。
1. 凭证刷新与管理架构
- access_token(动态凭证):属于高频读取的短效凭证,必须且只能存入高性能分布式缓存(如 Redis)中,并利用 TTL 机制管理过期时间。
- 并发控制:在凭证过期触发续期时,多节点集群应使用分布式锁,确保同一时刻仅有一个节点向 SUD 服务端发起刷新请求,避免引发刷新风暴导致限流。
- 平滑刷新:为避免极端情况下网络抖动造成的失效,建议在
expires_in到期前 5~10 分钟(即剩余时间 < 20% 时)主动发起刷新。
时序逻辑参考:
2. 通用安全防范
- AppSecret 隔离保管:属于长期敏感静态密钥,需存储在应用服务端安全存储介质(如配置中心 Nacos/Apollo、密钥管理服务 KMS),严禁硬编码在代码、配置文件或前端应用中。
- 白名单限制:建议在 SUD 管理后台配置服务器 IP 白名单,从源头阻断非法来源的 Token 获取请求。