StateManager

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

State 特性:

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

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

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

  • 线程安全:使用 ConcurrentMap 存储

Functions

Link copied to clipboard
fun cleanup()

清理资源 取消后台清理任务并清空存储 注意:此方法仅供测试使用,正常情况下不需要调用

Link copied to clipboard

使用 state(验证后删除) State 使用后自动删除,确保一次有效

Link copied to clipboard

生成加密安全的随机 state 使用 Random 生成指定长度的随机字符串

Link copied to clipboard

检查 state 是否有效 验证 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 是否匹配