@valon-technologies/gestalt
    Preparing search index...

    Interface IdentityProviderOptions

    Runtime hooks required to implement a Gestalt identity provider.

    interface IdentityProviderOptions {
        name?: string;
        displayName?: string;
        description?: string;
        version?: string;
        migrations?: MigrationsOption;
        workflows?: readonly WorkflowDefinitionInput[];
        configure?: ConfigureHandler;
        healthCheck?: HealthCheckHandler;
        warnings?: string[] | WarningsHandler;
        start?: StartHandler;
        close?: CloseHandler;
        authorize: (request: AuthorizeRequest) => MaybePromise<AuthorizeResponse>;
        token: (request: TokenRequest) => MaybePromise<TokenResponse>;
        introspect: (
            request: IntrospectRequest,
        ) => MaybePromise<IntrospectResponse>;
        userInfo: (
            request: Record<string, never>,
            call: IdentityCallContext,
        ) => MaybePromise<{ subjectId: string; email?: string; name?: string }>;
        listGrants: (
            request: Record<string, never>,
            call: IdentityCallContext,
        ) => MaybePromise<{ grantIds: string[] }>;
        getGrant: (
            request: { grantId: string },
            call: IdentityCallContext,
        ) => MaybePromise<GrantDetails>;
        revokeGrant: (
            request: { grantId: string },
            call: IdentityCallContext,
        ) => MaybePromise<void>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    name?: string
    displayName?: string
    description?: string
    version?: string
    migrations?: MigrationsOption

    Revisions the SDK discovers and runs during provider startup, before the author's own configure handler. The author never calls a runner.

    workflows?: readonly WorkflowDefinitionInput[]

    Workflow definitions declared as static desired state. The host reconciles these on the config-definitions path; declarations cannot depend on config. Only app (integration) providers publish these via GetMetadata.

    configure?: ConfigureHandler
    healthCheck?: HealthCheckHandler
    warnings?: string[] | WarningsHandler
    start?: StartHandler
    close?: CloseHandler
    userInfo: (
        request: Record<string, never>,
        call: IdentityCallContext,
    ) => MaybePromise<{ subjectId: string; email?: string; name?: string }>
    listGrants: (
        request: Record<string, never>,
        call: IdentityCallContext,
    ) => MaybePromise<{ grantIds: string[] }>
    getGrant: (
        request: { grantId: string },
        call: IdentityCallContext,
    ) => MaybePromise<GrantDetails>
    revokeGrant: (
        request: { grantId: string },
        call: IdentityCallContext,
    ) => MaybePromise<void>