UNPKG

@hmcts/rpx-xui-node-lib

Version:

Common nodejs library components for XUI

39 lines 1.57 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { NextFunction, Request, RequestHandler, Response } from 'express'; import { XuiLogger } from '../../common'; import { S2SConfig } from './s2sConfig.interface'; import { S2SToken } from './s2sToken.interface'; export declare class S2SAuth extends EventEmitter { protected readonly router: import("express-serve-static-core").Router; protected s2sConfig: S2SConfig; protected store: { [key: string]: S2SToken; }; protected logger: XuiLogger; constructor(logger?: XuiLogger); /** * This must be called with a suitable configuration before attempting to use the middleware, or else it will not * have valid parameter values to generate the S2S token. * * @param s2sConfig The S2SConfig containing microservice name, S2S endpoint URL, and S2S secret * @param store The cache for storing S2S tokens, indexed by microservice name */ configure: (s2sConfig: S2SConfig, store?: { [key: string]: S2SToken; } | undefined) => RequestHandler; s2sHandler: (req: Request, res: Response, next: NextFunction) => Promise<void>; validateCache: () => boolean; getToken: () => S2SToken; deleteCachedToken: () => void; private generateToken; private postS2SLease; serviceTokenGenerator: () => Promise<string>; /** * Get all the events that this strategy emits * @return string[] */ getEvents: () => string[]; } export declare const s2s: S2SAuth; //# sourceMappingURL=s2s.class.d.ts.map