@solid/community-server
Version:
Community Solid Server: an open and modular implementation of the Solid specifications
35 lines (34 loc) • 1.46 kB
TypeScript
import type { ResponseDescription } from '../http/output/response/ResponseDescription';
import type { OperationHttpHandlerInput } from '../server/OperationHttpHandler';
import { OperationHttpHandler } from '../server/OperationHttpHandler';
import type { ProviderFactory } from './configuration/ProviderFactory';
import type { CookieStore } from './interaction/account/util/CookieStore';
import type { InteractionHandler } from './interaction/InteractionHandler';
export interface IdentityProviderHttpHandlerArgs {
/**
* Used to generate the OIDC provider.
*/
providerFactory: ProviderFactory;
/**
* Used to determine the account of the requesting agent.
*/
cookieStore: CookieStore;
/**
* Handles the requests.
*/
handler: InteractionHandler;
}
/**
* Generates the active Interaction object if there is an ongoing OIDC interaction.
* Finds the account ID if there is cookie metadata.
*
* Calls the stored {@link InteractionHandler} with that information and returns the result.
*/
export declare class IdentityProviderHttpHandler extends OperationHttpHandler {
protected readonly logger: import("global-logger-factory").Logger<unknown>;
private readonly providerFactory;
private readonly cookieStore;
private readonly handler;
constructor(args: IdentityProviderHttpHandlerArgs);
handle({ operation, request, response }: OperationHttpHandlerInput): Promise<ResponseDescription>;
}