@hmcts/rpx-xui-node-lib
Version:
Common nodejs library components for XUI
38 lines • 2.15 kB
TypeScript
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