UNPKG

moleculer-iam

Version:

Centralized IAM module for moleculer. Including a certified OIDC provider and an Identity provider for user profile, credentials, and custom claims management. Custom claims could be defined/updated by declarative schema which contains claims validation a

61 lines (60 loc) 1.71 kB
/// <reference types="node" /> import * as http from "http"; import * as http2 from "http2"; import * as https from "https"; import Koa from "koa"; import { IHelmetConfiguration } from "helmet"; import compose from "koa-compose"; import { Logger } from "../lib/logger"; import { OIDCProvider, ParsedLocale } from "../op"; import { LoggingOptions } from "./logging"; export declare type IAMServerProps = { op: OIDCProvider; logger?: Logger; }; export declare type IAMServerOptions = { security?: IHelmetConfiguration; logging?: LoggingOptions; app?: (op: OIDCProvider) => Promise<compose.Middleware<any>>; assets?: { path: string; prefix: string; maxAge?: number; }[]; persistentQueryParamsKeys?: string[]; http?: { hostname: string; port?: number; } & http.ServerOptions; https?: { hostname: string; port?: number; } & https.ServerOptions; http2?: { hostname: string; port?: number; } & http2.ServerOptions; http2s?: { hostname: string; port?: number; } & http2.SecureServerOptions; }; export interface IAMServerRequestContextProps { locale: ParsedLocale; } export declare type IAMServerRequestContext = Koa.ParameterizedContext<IAMServerRequestContextProps>; export declare class IAMServer { private readonly props; private readonly logger; private readonly app; private readonly options; constructor(props: IAMServerProps, opts?: IAMServerOptions); private http?; private https?; private http2?; private http2s?; private working; start(): Promise<void>; private listenCallback; stop(): Promise<void>; }