UNPKG

@hmcts/rpx-xui-node-lib

Version:

Common nodejs library components for XUI

38 lines 2.15 kB
import { NextFunction, Request, RequestHandler, Response, Router } from 'express'; import { Client, Issuer, Strategy, TokenSet, UserinfoResponse, HttpOptions } from 'openid-client'; import { OpenIDMetadata } from './OpenIDMetadata.interface'; import { Strategy as AuthStrategy } from '../../models'; import { AuthOptions } from '../../models'; import { XuiLogger } from '../../../common'; export declare class OpenID extends AuthStrategy { protected issuer: Issuer<Client> | undefined; protected client: Client | undefined; constructor(router?: Router, logger?: XuiLogger, options?: HttpOptions); /** * Helper function to customise GOT defaults and hooks to provide debug information * @param options */ setHttpOptionsDefaults: (options: HttpOptions) => void; getOpenIDOptions: (authOptions: AuthOptions, discoveryOptions: any) => OpenIDMetadata; keepAliveHandler: (req: Request, res: Response, next: NextFunction) => Promise<void>; discover: () => Promise<Issuer<Client>>; initialiseStrategy: (authOptions: AuthOptions) => Promise<void>; convertTokenSet: (tokenset: TokenSet | undefined) => any; verify: (tokenset: TokenSet, userinfo: UserinfoResponse, done: (err: any, user?: any, message?: any) => void) => void; discoverIssuer: () => Promise<any>; newIssuer: (metadata: any) => Issuer<Client>; useStrategy: (strategyName: string, strategy: Strategy<any, any>) => void; createNewStrategy: (authOptions: AuthOptions) => Promise<Strategy<any, any>>; getNewStrategy: (options: OpenIDMetadata, client: Client) => Strategy<any, Client>; getClientFromIssuer: (issuer: Issuer<Client>, options: OpenIDMetadata) => Client | undefined; getClient: () => Client | undefined; /** * The login route handler, will attempt to setup security state and nonce param and redirect user if not authenticated * @param req Request * @param res Response * @param next NextFunction */ loginHandler: (req: Request, res: Response, next: NextFunction) => Promise<RequestHandler>; } export declare const oidc: OpenID; //# sourceMappingURL=openid.class.d.ts.map