/** * 访问令牌验证中间件 * 支持多种令牌格式和验证方式 */ import type { Context, Next } from "koa"; export interface TokenConfig { /** 令牌名称(用于从 header 或 query 中获取) */ tokenName?: string; /** 是否从 Authorization header 获取 */ fromHeader?: boolean; /** 是否从 query 参数获取 */ fromQuery?: boolean; /** 验证函数 */ validator?: (token: string, ctx: Context) => boolean | Promise; /** 是否必需 */ required?: boolean; /** 自定义错误消息 */ errorMessage?: string; } /** * 创建令牌验证中间件 */ export declare function createTokenValidator(config?: TokenConfig): (ctx: Context, next: Next) => Promise; /** * 创建基于配置的令牌验证器 * 从配置中读取 access_token 列表进行验证 */ export declare function createConfigTokenValidator(expectedTokens: string[]): (ctx: Context, next: Next) => Promise; /** * HMAC 签名验证 */ export declare function createHMACValidator(secret: string, algorithm?: string): (ctx: Context, next: Next) => Promise; /** * 创建带令牌管理的验证器 * 支持令牌过期检查和自动刷新 */ export declare function createManagedTokenValidator(tokenManager: import("./token-manager.js").TokenManager, config?: TokenConfig): (ctx: Context, next: Next) => Promise; /** * 组合多个验证器 */ export declare function combineValidators(...validators: Array<(ctx: Context, next: Next) => Promise>): (ctx: Context, next: Next) => Promise;