import { IdentityProviderOptions } from 'saml2-js'; import { ClientAuthMethod, ClientMetadata, JWKS, ResponseType } from 'oidc-provider'; /** * Interface for configuring the application. * * @author Kenble - f.taddia */ export interface IConfig { baseUrl: string; port: number; saml: { privateKey: string; cert: string; allowUnencryptedAssertion?: boolean; idps: Array<(IdentityProviderOptions & { name: string; displayName: string; })>; }; oidc: { scopes?: Array; responseTypes?: Array; clientAuthMethods?: Array; jwks: JWKS; clientDefaults?: { response_types: Array; grant_types: Array; token_endpoint_auth_method: ClientAuthMethod; }; clients: Array<(ClientMetadata & { remoteUser: string; allowedOrigins: Array; })>; cookieKeys: Array; customClaims?: { [key: string]: null | Array; } | undefined; claimsMap: Record; }; } /** * Method to retrieve application configuration from a JSON file. * * @author Kenble - f.taddia * @param path of the JSON file to read * @returns returns the application configuration */ export default function getConfigFromFile(path: string): IConfig;