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