UNPKG

@voidkey/broker-core

Version:

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

54 lines 2.22 kB
import { KeyConfiguration } from './types'; import { IdpProvider } from './idp'; import { AccessProvider, CredentialResponse } from './providers'; export { OidcClaims, IdpConfiguration, Identity, GeneralConfiguration, BrokerIdpConfiguration, ClientIdentity, KeyConfiguration, AccessProviderConfiguration } from './types'; export { IdpProvider } from './idp'; export { IdpConfigLoader, IdpConfigFile } from './config/idp-config'; export { AccessProvider, CredentialRequest, CredentialResponse, CredentialOutput, createProvider } from './providers'; export declare class CredentialBroker { private idpProviders; private accessProviders; private defaultIdpName?; private clientIdentities; private brokerToken?; private brokerTokenExpiry?; private brokerIdpConfig?; constructor(); private addBuiltInProviders; addIdpProvider(provider: IdpProvider): void; addAccessProvider(provider: AccessProvider): void; getAccessProvider(name: string): AccessProvider; listAccessProviders(): Array<{ name: string; type: string; }>; loadIdpConfigFromFile(configPath: string): void; loadIdpConfigFromString(yamlContent: string): void; private loadIdpConfig; setDefaultIdp(name: string): void; listIdpProviders(): Array<{ name: string; isDefault: boolean; }>; getAvailableKeys(subject: string): string[]; getKeyConfiguration(subject: string, keyName: string): KeyConfiguration | null; getIdpProvider(name?: string): IdpProvider; mintKey(oidcToken: string, keyName: string, idpName?: string, duration?: number): Promise<CredentialResponse>; mintKeys(oidcToken: string, keyNames: string[], idpName?: string, duration?: number): Promise<{ [keyName: string]: CredentialResponse; }>; healthCheckIdpProvider(idpName?: string): Promise<{ provider: string; healthy: boolean; error?: string; }>; healthCheckAllProviders(): Promise<Array<{ provider: string; healthy: boolean; error?: string; }>>; private acquireBrokerToken; private ensureValidBrokerToken; getBrokerToken(): Promise<string>; } //# sourceMappingURL=index.d.ts.map