exchangeOAuthToken

OAuth 令牌交换 使用授权码换取访问令牌

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

请求格式:

  • Content-Type: application/x-www-form-urlencoded

  • Authorization: Bearer <开放平台签名> (使用 config.apiKey) - 符合官方文档要求

  • 请求体参数:

  • grant_type: 授权类型(authorization_code 或 refresh_token)

  • client_id: 应用 ID

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

  • code: 授权码(从 OAuth 授权回调中获取)

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

  • code_verifier: PKCE code_verifier(可选,启用 PKCE 时必需)

注意:

  • 此方法使用 config.apiKey 作为 Authorization header,符合官方文档要求

  • OAuth token(access_token)仅用于 getUserInfo() 接口,不用于此接口

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

示例:

val tokenRequest = OAuthTokenRequest(
appId = "vap_xxxxx",
clientSecret = sdkConfig.apiKey,
code = authCode,
redirectUri = "http://localhost:8080/callback",
codeVerifier = codeVerifier
)
val tokenInfo = authManager.exchangeOAuthToken(tokenRequest)

Return

TokenInfo 包含访问令牌、刷新令牌和有效期信息

Parameters

request

OAuth 令牌请求,包含授权码和认证信息

Throws

当令牌交换失败时抛出