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

52 lines (51 loc) 1.87 kB
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>; }