get Valid Access Token
获取有效的访问令牌(自动刷新) 提供统一的获取令牌方法,实现自动检查和刷新逻辑
官方文档参考:
vds-docs/基础接口/签名交换.md - 签名交换流程
vds-docs/基础接口/签名换新.md - 签名换新机制
vds-docs/开始接入/快速跑通流程.md - 完整接入流程示例
自动刷新逻辑(遵循官方文档伪代码):
如果没有令牌或已过期:
调用 exchangeToken(clientId, clientSecret) 获取新令牌(签名交换)
如果是 OAuth 流程,需要重新进行 OAuth 授权
如果剩余有效期 <= 300 秒(5 分钟):
如果是 OAuth 令牌且有 refresh_token:调用 refreshOAuthToken()
如果是签名交换令牌:调用 refreshToken()
刷新失败:
捕获异常并记录日志
回退到 exchangeToken(clientId, clientSecret) 重新获取
令牌有效期说明:
默认有效期:3600 秒(1 小时)
刷新窗口:过期前 300 秒(5 分钟)
刷新模式:exchange_current_access_token
示例:
// 在发起 API 请求前调用
val accessToken = authManager.getValidAccessToken(clientId, clientSecret)
// 使用 accessToken 发起请求
httpClient.get("https://api.example.com/data") {
header("Authorization", "Bearer $accessToken")
}Content copied to clipboard
Return
当前或刷新后的访问令牌(accessToken),可直接用于 API 认证
Parameters
client Id
应用 ID(用于签名交换回退,格式 vap_xxxx)
client Secret
应用密钥(用于签名交换回退)
Throws
Exception
当网络错误或认证失败时抛出(已在内部捕获并回退)