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
66 lines (65 loc) • 3.31 kB
TypeScript
/// <reference types="koa-bodyparser" />
/// <reference types="koa-passport" />
import { Configuration } from "oidc-provider";
import { FindOptions, WhereAttributeHash } from "../../lib/rdbms";
import { Logger } from "../../lib/logger";
import { IdentityProvider } from "../../idp";
import { ApplicationBuildOptions } from "../app";
import { OIDCModelName } from "./adapter";
import { StaticConfiguration } from "./config";
import { ClientMetadata } from "./proxy.types";
export declare type OIDCProviderProxyProps = {
logger: Logger;
idp: IdentityProvider;
};
export declare type OIDCProviderProxyOptions = StaticConfiguration & {
app?: ApplicationBuildOptions;
};
export declare type ParsedLocale = {
language: string;
region: string;
};
export declare class OIDCProviderProxy {
private readonly props;
private readonly logger;
private readonly provider;
private readonly adapter;
constructor(props: OIDCProviderProxyProps, options: OIDCProviderProxyOptions);
private get hidden();
get app(): import("koa")<import("koa").DefaultState, import("koa").DefaultContext>;
get configuration(): Configuration;
private _supportedLocales?;
get supportedLocales(): string[];
parseLocale(locale?: string): ParsedLocale;
get issuer(): string;
start(): Promise<void>;
stop(): Promise<void>;
get Session(): import("./adapter").OIDCModelProxy;
get AccessToken(): import("./adapter").OIDCModelProxy;
get AuthorizationCode(): import("./adapter").OIDCModelProxy;
get RefreshToken(): import("./adapter").OIDCModelProxy;
get DeviceCode(): import("./adapter").OIDCModelProxy;
get ClientCredentials(): import("./adapter").OIDCModelProxy;
get Client(): import("./adapter").OIDCModelProxy;
get InitialAccessToken(): import("./adapter").OIDCModelProxy;
get RegistrationAccessToken(): import("./adapter").OIDCModelProxy;
get Interaction(): import("./adapter").OIDCModelProxy;
get ReplayDetection(): import("./adapter").OIDCModelProxy;
get PushedAuthorizationRequest(): import("./adapter").OIDCModelProxy;
findClient(id: string): Promise<import("oidc-provider").AdapterPayload | undefined>;
findClientOrFail(id: string): Promise<import("oidc-provider").AdapterPayload>;
createClient(metadata: Omit<ClientMetadata, "client_secret">): Promise<any>;
updateClient(metadata: Omit<ClientMetadata, "client_secret"> & {
reset_client_secret?: boolean;
}): Promise<any>;
deleteClient(id: string): Promise<void>;
getClients(args?: FindOptions): Promise<import("oidc-provider").AdapterPayload[]>;
countClients(args?: WhereAttributeHash): Promise<number>;
private static generateClientSecret;
static readonly volatileModelNames: ReadonlyArray<Exclude<OIDCModelName, "Client" | "ClientCredentials">>;
countModels(kind: (typeof OIDCProviderProxy.volatileModelNames)[number], args?: WhereAttributeHash): Promise<number>;
getModels(kind: (typeof OIDCProviderProxy.volatileModelNames)[number], args?: FindOptions): Promise<import("oidc-provider").AdapterPayload[]>;
deleteModels(kind: (typeof OIDCProviderProxy.volatileModelNames)[number], args?: FindOptions): Promise<number>;
syncSupportedClaimsAndScopes(): Promise<void>;
private updateSupportedClaimsAndScopes;
}