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

65 lines (64 loc) 3.27 kB
import { FindOptions, WhereAttributeHash, RDBMSManagerOptions, Transaction } from "../../../lib/rdbms"; import { IDPAdapter, IDPAdapterProps } from "../adapter"; import { IdentityMetadata } from "../../metadata"; import { IdentityClaimsSchema } from "../../claims"; import { OIDCAccountClaims, OIDCAccountCredentials } from "../../../op"; export declare type IDP_RDBMS_AdapterOptions = RDBMSManagerOptions & { claimsMigrationLockTimeoutSeconds?: number; }; export declare class IDP_RDBMS_Adapter extends IDPAdapter { protected readonly props: IDPAdapterProps; private readonly manager; readonly displayName = "RDBMS"; private readonly claimsMigrationLockTimeoutSeconds; constructor(props: IDPAdapterProps, options?: IDP_RDBMS_AdapterOptions); start(): Promise<void>; stop(): Promise<void>; get IdentityCache(): import("../../../lib/rdbms").ModelClass; find(args: WhereAttributeHash): Promise<string | void>; count(args: WhereAttributeHash): Promise<number>; get(args: FindOptions): Promise<string[]>; delete(id: string, transaction?: Transaction): Promise<boolean>; get IdentityMetadata(): import("../../../lib/rdbms").ModelClass; createOrUpdateMetadata(id: string, metadata: Partial<IdentityMetadata>, transaction?: Transaction): Promise<void>; getMetadata(id: string): Promise<IdentityMetadata | void>; get IdentityClaims(): import("../../../lib/rdbms").ModelClass; createOrUpdateVersionedClaims(id: string, claims: { key: string; value: any; schemaVersion: string; }[]): Promise<void>; private readonly getVersionedClaimsLoader; getVersionedClaims(id: string, claims: { key: string; schemaVersion?: string; }[]): Promise<Partial<OIDCAccountClaims>>; get IdentityClaimsCache(): import("../../../lib/rdbms").ModelClass; onClaimsUpdated(id: string, updatedClaims: Partial<OIDCAccountClaims>, transaction?: Transaction): Promise<void>; get IdentityCredentials(): import("../../../lib/rdbms").ModelClass; createOrUpdateCredentials(id: string, credentials: Partial<OIDCAccountCredentials>, transaction?: Transaction): Promise<boolean>; assertCredentials(id: string, credentials: Partial<OIDCAccountCredentials>): Promise<boolean | null>; get IdentityClaimsSchema(): import("../../../lib/rdbms").ModelClass; createClaimsSchema(schema: IdentityClaimsSchema, transaction?: Transaction): Promise<void>; forceDeleteClaimsSchema(key: string): Promise<void>; getClaimsSchema(args: { key: string; version?: string; active?: boolean; }): Promise<IdentityClaimsSchema | void>; setActiveClaimsSchema(args: { key: string; version: string; }, transaction?: Transaction): Promise<void>; getClaimsSchemata(args: { scope: string[]; key?: string; version?: string; active?: boolean; }): Promise<IdentityClaimsSchema[]>; transaction(): Promise<Transaction>; get IdentityClaimsMigrationLock(): import("../../../lib/rdbms").ModelClass; acquireMigrationLock(key: string): Promise<void>; touchMigrationLock(key: string, migratedIdentitiesNumber: number): Promise<void>; releaseMigrationLock(key: string): Promise<void>; }