import { HttpHandler, type HttpHandlerInput } from '@solid/community-server'; export interface DisabledOidcHandlerOptions { /** 外部 IdP 的 JWKS URL */ externalJwksUrl?: string; /** 禁用原因说明 */ message?: string; /** JWKS 缓存时间 (ms) */ cacheMs?: number; /** 是否完全禁用 (不代理 JWKS) */ fullyDisabled?: boolean; } /** * Disabled OIDC Handler * * 用于 SP (Storage Provider) 模式,禁用本地 OIDC 服务端功能。 * * 行为: * 1. 对 /.oidc/jwks 请求:代理到外部 IdP 的 JWKS (支持缓存) * 2. 对其他 OIDC 请求:返回 501 Not Implemented * * 这样 SP 可以验证来自外部 IdP 的 token,但不颁发 token。 */ export declare class DisabledOidcHandler extends HttpHandler { private readonly logger; private readonly externalJwksUrl?; private readonly message; private readonly cacheMs; private readonly fullyDisabled; private jwksCache?; constructor(options?: DisabledOidcHandlerOptions); /** * 只处理 OIDC 相关的请求路径 */ canHandle({ request }: HttpHandlerInput): Promise; /** * 处理 JWKS 代理请求 */ handle({ response }: HttpHandlerInput): Promise; /** * 获取并缓存 JWKS */ private fetchJwks; /** * 检查是否是 OIDC 路径 */ private isOidcPath; /** * 检查是否是 JWKS 路径 */ private isJwksPath; /** * 从 URL 提取 pathname */ private getPathname; }