AuthManager

@JvmBlocking
@JvmAsync
class AuthManager

认证管理器

负责令牌管理和 OAuth 流程。支持签名交换和 OAuth 两种认证方式。

Types

Link copied to clipboard
data class PkceParameters(val codeVerifier: String, val codeChallenge: String)

PKCE (Proof Key for Code Exchange) parameters for OAuth security.

Functions

Link copied to clipboard

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

Link copied to clipboard
fun close()

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

Link copied to clipboard
suspend fun exchangeOAuthToken(code: String, redirectUri: String, codeVerifier: String? = null): TokenInfo

使用授权码换取 OAuth 用户令牌。

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

使用应用凭证(clientId + clientSecret)进行签名交换,获取平台签名

Link copied to clipboard

获取当前访问令牌

Link copied to clipboard

获取当前 API 密钥

Link copied to clipboard
fun getOAuthAuthorizeUrl(redirectUri: String, scope: String? = null, state: String? = null, enablePkce: Boolean = true, codeChallenge: String? = null): String

生成 OAuth 授权 URL。

Link copied to clipboard
suspend fun getUserInfo(): UserInfoData

查询已授权用户的公开信息。

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

获取有效的访问令牌(自动刷新)

Link copied to clipboard

检查是否已认证

Link copied to clipboard
suspend fun loginWithOAuth(scope: String? = null): TokenInfo

执行完整的 OAuth 登录流程

Link copied to clipboard

刷新 OAuth 用户令牌(非平台签名)。

Link copied to clipboard
suspend fun refreshToken(): TokenInfo

刷新访问令牌。

Link copied to clipboard

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

Link copied to clipboard

设置自定义 OAuth 回调处理器

Link copied to clipboard
fun setTokenInfo(tokenInfo: TokenInfo)

设置令牌信息