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
52 lines (51 loc) • 1.87 kB
TypeScript
import { Logger } from "../../lib/logger";
import { IDPAdapter } from "../adapter";
import { IdentityClaimsSchema, IdentityClaimsSchemaPayload } from "./types";
import { WhereAttributeHash } from "../../lib/rdbms";
export declare type IdentityClaimsManagerProps = {
adapter: IDPAdapter;
logger?: Logger;
};
export declare type IdentityClaimsManagerOptions = {
baseClaims?: IdentityClaimsSchemaPayload[];
mandatoryScopes?: string[];
};
export declare class IdentityClaimsManager {
protected readonly props: IdentityClaimsManagerProps;
private readonly validatePayload;
private readonly logger;
private readonly options;
constructor(props: IdentityClaimsManagerProps, opts?: Partial<IdentityClaimsManagerOptions>);
private get adapter();
start(): Promise<void>;
stop(): Promise<void>;
private hashClaimsSchemaPayload;
private createClaimsSchema;
private compileClaimsValidator;
private compileClaimsMigrationStrategy;
readonly mandatoryScopes: ReadonlyArray<string>;
private _supportedScopes;
get supportedScopes(): {
[scope: string]: string[];
};
private syncSupportedScopes;
onClaimsSchemaUpdated(): Promise<void>;
getActiveClaimsSchemata(): Promise<IdentityClaimsSchema[]>;
getClaimsSchemata(args: {
scope: string | string[];
key?: string;
version?: string;
active?: boolean;
}): Promise<IdentityClaimsSchema[]>;
getClaimsSchema(args: {
key: string;
version?: string;
active?: boolean;
}): Promise<void | IdentityClaimsSchema>;
forceReloadClaims(args: {
where?: WhereAttributeHash;
ids?: string[];
}): Promise<void>;
forceDeleteClaimsSchemata(...keys: string[]): Promise<void>;
defineClaimsSchema(payload: IdentityClaimsSchemaPayload): Promise<IdentityClaimsSchema>;
}