AuthManager

class AuthManager(config: SdkConfig)

认证管理器 负责令牌的管理、刷新和 OAuth 流程 提供签名交换、令牌刷新、OAuth 授权、用户信息获取等功能

重要说明:

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

  • Client token(签名交换的 token)用于其他所有接口

  • 两种 token 不通用,使用不同的认证头

Constructors

Link copied to clipboard
constructor(config: SdkConfig)

Functions

Link copied to clipboard

清除令牌信息 清除当前存储的令牌并重置 HTTP 客户端

Link copied to clipboard
fun close()

关闭客户端 释放认证管理器占用的资源

Link copied to clipboard

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

Link copied to clipboard
suspend fun exchangeToken(clientId: String, clientSecret: String): TokenInfo

签名交换 - 使用 clientId 和 clientSecret 获取令牌 端点:POST /api/auth/token

Link copied to clipboard

获取当前访问令牌

Link copied to clipboard

获取当前 API 密钥

Link copied to clipboard

生成 OAuth 授权 URL 用于 VDS 账户 OAuth 授权流程的第一步

Link copied to clipboard
suspend fun getUserInfo(): UserInfoData

获取用户信息 获取当前 OAuth 认证用户的详细信息

Link copied to clipboard
suspend fun getValidAccessToken(clientId: String, clientSecret: String): String

获取有效的访问令牌(自动刷新) 提供统一的获取令牌方法,实现自动检查和刷新逻辑

Link copied to clipboard
suspend fun initOAuth(config: OAuthConfig, scope: String? = null): TokenInfo

使用 OAuth 初始化 SDK 完整的 OAuth 授权流程实现

Link copied to clipboard

检查是否已认证

Link copied to clipboard

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

Link copied to clipboard
suspend fun refreshToken(): TokenInfo

刷新令牌 使用当前的访问令牌刷新获取新的访问令牌 端点:POST /api/auth/token/refresh

Link copied to clipboard

如果需要,刷新令牌 检查令牌是否过期(剩余时间 <= 300 秒),如果是则自动刷新

Link copied to clipboard
fun setTokenInfo(tokenInfo: TokenInfo)

设置令牌信息