UNPKG

@sphereon/ssi-express-support

Version:

54 lines 2.29 kB
import { TAgent } from '@veramo/core'; import express, { Express, Router } from 'express'; import { BaseClient, ClientMetadata, ClientOptions, Issuer } from 'openid-client'; import { ExpressSupport, GenericAuthArgs, ISingleEndpointOpts } from './types'; export declare function oidcDiscoverIssuer(opts?: { issuerUrl?: string; }): Promise<{ issuer: Issuer<BaseClient>; issuerUrl: string; }>; export declare function oidcGetClient(issuer: Issuer<BaseClient>, metadata: ClientMetadata, opts?: { jwks?: { keys: JsonWebKey[]; }; options?: ClientOptions; }): Promise<BaseClient>; export declare function getLoginEndpoint(router: Router, opts?: ISingleEndpointOpts & { redirectUrl?: string; }): void; export declare function getLoginCallbackEndpoint(router: Router, opts?: ISingleEndpointOpts): void; export declare function getLogoutEndpoint(router: Router, client: BaseClient, opts?: ISingleEndpointOpts): void; export declare function getLogoutCallbackEndpoint(router: Router, opts?: ISingleEndpointOpts): void; export declare function getIdTokenEndpoint(router: Router, client: BaseClient, opts: ISingleEndpointOpts): void; export declare function getAuthenticatedUserEndpoint(router: Router, opts?: ISingleEndpointOpts): void; export interface IAuthenticationOpts { enabledFeatures?: AuthenticationApiFeatures; endpointOpts?: IAuthenticationEndpointOpts; } export interface IAuthenticationEndpointOpts { basePath?: string; globalAuth?: GenericAuthArgs; getAuthenticatedUser?: ISingleEndpointOpts; getLogin?: ISingleEndpointOpts; getLogout?: ISingleEndpointOpts; getIdToken?: ISingleEndpointOpts; } export type AuthenticationApiFeatures = 'login' | 'logout' | 'id-token' | 'authenticated-user'; export declare class OpenIDConnectAuthApi { get router(): express.Router; private readonly _express; private readonly _agent?; private readonly _opts?; private readonly _router; constructor(args: { agent?: TAgent<any>; expressSupport: ExpressSupport; client: BaseClient; opts: IAuthenticationOpts; }); get agent(): TAgent<any> | undefined; get opts(): IAuthenticationOpts | undefined; get express(): Express; } //# sourceMappingURL=openid-connect-rp.d.ts.map