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

49 lines (48 loc) 2.39 kB
import { ClientAuthorizationState, ClientMetadata, InteractionResults } from "oidc-provider"; import { Identity } from "../../idp"; import { ProviderConfigBuilder } from "./config"; import { OIDCError } from "./error.types"; import { OIDCAccountClaims } from "./identity.types"; import { ApplicationRequestContext, ApplicationSessionPublicState, ApplicationMetadata, ApplicationRoutes, ApplicationSessionSecretState } from "./app.types"; import { Client, DeviceInfo, Interaction, Session } from "./proxy.types"; export declare class OIDCProviderContextProxy { private readonly ctx; private builder; session: Session; metadata: ApplicationMetadata; interaction?: Interaction; client?: Client; clientMetadata?: Partial<ClientMetadata>; user?: Identity; userClaims?: Partial<OIDCAccountClaims>; device?: DeviceInfo; constructor(ctx: ApplicationRequestContext, builder: ProviderConfigBuilder); private get idp(); private get provider(); get getURL(): (path: string, withHost?: true | undefined) => string; readonly getNamedURL: (name: string, opts?: any) => any; get routes(): ApplicationRoutes; render(name: string, error?: OIDCError, additionalRoutes?: ApplicationRoutes): Promise<void>; redirectWithUpdate(promptUpdate: Partial<InteractionResults> | { error: string; error_description?: string; }, allowedPromptNames?: string[]): Promise<void>; redirect(url: string): Promise<void>; end(): Promise<void>; get sessionPublicState(): any; get sessionSecretState(): any; setSessionPublicState(update: (prevPublicState: ApplicationSessionPublicState) => ApplicationSessionPublicState): void; setSessionSecretState(update: (prevSecretState: ApplicationSessionSecretState) => ApplicationSessionSecretState): void; private setSessionState; private ensureSessionSaved; private shouldSaveSession; private get isXHR(); assertPrompt(allowedPromptNames?: string[]): void; getPublicClientProps(client?: Client): Promise<Partial<ClientMetadata> | undefined>; getPublicUserProps(id?: Identity): Promise<Partial<OIDCAccountClaims> | undefined>; getAuthorizedClientsProps(): Promise<(Partial<ClientMetadata> & { authorization: ClientAuthorizationState; })[] | undefined>; _dangerouslyCreate(): Promise<this>; private readProviderSession; }