refreshOAuthToken

刷新 OAuth 令牌 使用 refresh_token 获取新的访问令牌

端点:POST /api/proxy/account/sso/token 官方文档:VDS 账户/VDS 账户快速接入(OAuth).md

刷新机制说明:

  • 仅适用于 OAuth 流程获取的令牌(isOAuthToken = true)

  • 需要有效的 refresh_token(在初次令牌交换时获取)

  • 使用 client_id 和 client_secret 进行认证(使用 config.apiKey)

  • refresh_token 使用后可能轮换(取决于服务端配置)

请求参数:

  • grant_type: "refresh_token"

  • refresh_token: 刷新令牌

  • client_id: 应用 ID(OAuth 流程中使用的 appId)

  • client_secret: 应用密钥(开放平台签名)

  • redirect_uri: 重定向 URI(必须与授权时一致)

注意:

  • 此方法使用 config.apiKey 作为 Authorization header

  • OAuth token(access_token)仅用于 getUserInfo() 接口,不用于刷新流程

  • Client token(签名交换的 token)和 OAuth token 不通用

示例:

val newTokenInfo = authManager.refreshOAuthToken()
println("新的访问令牌:${newTokenInfo.accessToken}")
println("新的刷新令牌:${newTokenInfo.refreshToken}")

Return

TokenInfo 新的令牌信息,包含新的 access_token 和可能的 refresh_token

Throws

如果没有可用的 refresh_token

IllegalStateException

如果 OAuth client_id 或 redirect_uri 不可用