Package-level declarations

Types

Link copied to clipboard
class AuthManager(config: SdkConfig)

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

Link copied to clipboard
@Serializable
data class OAuthAuthorizeParams(val clientId: String, val redirectUri: String, val state: String? = null, val scope: String? = null, val responseType: String = "code", val codeChallenge: String? = null, val codeChallengeMethod: String? = null)

OAuth 授权 URL 参数 用于生成 OAuth 授权 URL 的参数(OAuth 流程)

Link copied to clipboard
class OAuthCallbackException(message: String, cause: Throwable? = null)

OAuth 回调异常 用于在 OAuth 回调过程中抛出异常

Link copied to clipboard

OAuth 回调处理器 使用 Ktor CIO 引擎启动嵌入式 HTTP 服务器

Link copied to clipboard
sealed class OAuthCallbackResult

OAuth 回调结果 统一的返回格式,所有平台使用相同的 sealed class

Link copied to clipboard
data class OAuthCallbackServerConfig(val callbackHost: String = "localhost", val callbackPort: Int = 8080, val callbackPath: String = "/callback", val timeoutSeconds: Long = 300)

OAuth 回调服务器配置

Link copied to clipboard
@Serializable
data class OAuthConfig(val callbackHost: String = "localhost", val callbackPort: Int = 8080, val callbackPath: String = "/callback", val stateTimeoutMinutes: Int = 10, val enablePkce: Boolean = false)

OAuth 配置 用于配置 OAuth 回调参数(OAuth 流程)

Link copied to clipboard
@Serializable
data class OAuthTokenData(val accessToken: String, val expiresIn: Int, val tokenType: String, val scope: String? = null, val refreshToken: String? = null)

OAuth 令牌数据 包含 OAuth 访问令牌信息(OAuth 流程)

Link copied to clipboard
@Serializable
data class OAuthTokenRequest(val grantType: String = "authorization_code", val clientSecret: String, val code: String, val redirectUri: String, val clientId: String, val codeVerifier: String? = null)

OAuth 令牌请求 用于 OAuth 令牌交换接口的请求体(OAuth 流程)

Link copied to clipboard
@Serializable
data class OAuthTokenResponse(val success: Boolean, val data: OAuthTokenData, val requestId: String)

OAuth 令牌响应 OAuth 令牌交换接口的响应包装

Link copied to clipboard
object Sha256

纯 Kotlin 实现的 SHA256 哈希算法 基于 FIPS 180-2 规范,支持所有 Kotlin Multiplatform 平台

Link copied to clipboard

State 管理器 负责 OAuth 流程中 state 参数的生成、验证和管理 提供加密安全的 state 生成、存储、验证和超时失效功能

Link copied to clipboard
@Serializable
data class TokenData(val accessToken: String, val apiKey: String, val expiresIn: Int, val tokenType: String, val refresh: TokenRefreshInfo? = null)

令牌数据 包含访问令牌信息(签名交换接口返回) 注意:accessToken 和 apiKey 是两个不同的值

Link copied to clipboard
@Serializable
data class TokenExchangeRequest(val clientId: String, val clientSecret: String)

签名交换请求(用于获取 apiKey/accessToken) 用于签名交换接口的请求体

Link copied to clipboard
@Serializable
data class TokenExchangeResponse(val success: Boolean, val data: TokenData, val requestId: String)

令牌交换响应 签名交换接口的响应包装

Link copied to clipboard
@Serializable
data class TokenInfo(val accessToken: String, val apiKey: String, val expiresAt: Long, val tokenType: String, val refreshToken: String? = null)

令牌信息 SDK 内部使用的令牌存储结构

Link copied to clipboard
@Serializable
data class TokenRefreshInfo(val mode: String, val refreshWindowSeconds: Int, val previousTokenSecondsRemaining: Int)

令牌刷新信息 包含签名换新策略的相关信息

Link copied to clipboard
@Serializable
data class TokenRefreshRequest(val dummy: String? = null)

令牌刷新请求 用于令牌刷新接口的请求体 根据文档,刷新接口不需要请求体,只需要 Authorization header 使用空对象作为请求体

Link copied to clipboard
@Serializable
data class TokenRefreshResponse(val success: Boolean, val data: TokenData, val requestId: String, val refresh: TokenRefreshInfo? = null)

令牌刷新响应 令牌刷新接口的响应包装

Link copied to clipboard
@Serializable
data class UserInfoData(val sub: String, val nickname: String? = null, val avatarUrl: String? = null, val email: String? = null, val name: String? = null, val username: String? = null, val updatedAt: Long? = null, val phoneNumber: String? = null)

用户信息数据 包含 OAuth 用户的基本信息

Link copied to clipboard
@Serializable
data class UserInfoResponse(val success: Boolean, val data: UserInfoData, val requestId: String)

用户信息响应 用户信息接口的响应包装

Functions

Link copied to clipboard

计算 ByteArray 的 SHA256 哈希