import { HttpHandler, type HttpHandlerInput } from '@solid/community-server'; export interface AutoDetectIdentityProviderHandlerOptions { /** External account authority used by Cloud+Local provisioning metadata. */ oidcIssuer?: string; /** Message used when no source handler is available. */ message?: string; /** CSS IdentityProviderHandler that owns account, consent and WebID selection routes. */ source?: HttpHandler; } /** * Auto-detect Identity Provider Handler * * This handler only keeps CSS identity/account pages wired when they are * intentionally opened on this server. It does not make Local SP the token * issuer for Cloud+Local. LinX Cloud+Local login uses Cloud as OIDC issuer and * carries provision scope so storage selection stays bound to the selected SP. */ export declare class AutoDetectIdentityProviderHandler extends HttpHandler { private readonly logger; private readonly oidcIssuer?; private readonly message; private readonly source?; constructor(options?: AutoDetectIdentityProviderHandlerOptions); /** * 判断是否处理请求 * - Cloud+Local/standard/standalone: delegate account routes to source Handler */ canHandle(input: HttpHandlerInput): Promise; /** * 处理请求 * - Cloud+Local/standard/standalone: delegate to source Handler */ handle(input: HttpHandlerInput): Promise; /** * 检查是否是 IdP 路径 */ private isIdpPath; /** * 从 URL 提取 pathname */ private getPathname; }