UNPKG

@voidkey/broker-core

Version:

Core credential minting logic for the voidkey zero-trust credential broker

49 lines 1.34 kB
export interface CredentialOutput { [envVarName: string]: string; } export interface KeyConfiguration { provider: string; duration?: number; outputs: { [envVarName: string]: string; }; [key: string]: any; } export interface AccessProviderConfiguration { name: string; type: string; endpoint: string; defaultDuration?: number; brokerAuth?: { tokenSource: string; [key: string]: any; }; [key: string]: any; } export interface CredentialRequest { subject: string; keyName: string; keyConfig: KeyConfiguration; brokerToken?: string; claims?: any; } export interface CredentialResponse { credentials: CredentialOutput; expiresAt: string; metadata?: { provider: string; keyName: string; [key: string]: any; }; } export declare abstract class AccessProvider { protected config: AccessProviderConfiguration; constructor(config: AccessProviderConfiguration); abstract getName(): string; abstract getType(): string; abstract mintCredential(request: CredentialRequest): Promise<CredentialResponse>; abstract healthCheck?(): Promise<boolean>; protected getDefaultDuration(): number; protected validateKeyConfig(keyConfig: KeyConfiguration): void; } //# sourceMappingURL=base.d.ts.map