StateManager

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

State 特性:

  • 加密安全:使用 SecureRandom 生成随机字符串

  • 一次有效:使用后自动删除

  • 超时失效:支持自定义超时时间

  • 线程安全:使用 ConcurrentMap 存储

Types

Link copied to clipboard
@Serializable
data class StateEntry(val expiresAtEpochMs: Long)

Functions

Link copied to clipboard

使用 state(验证后删除)

Link copied to clipboard

生成加密安全的随机 state

Link copied to clipboard

检查 state 是否有效

Link copied to clipboard
fun storeState(state: String, timeoutMinutes: Int = DEFAULT_TIMEOUT_MINUTES)

存储 state 及超时时间

Link copied to clipboard
fun validateState(expected: String, actual: String): Boolean

验证 state 是否匹配