UNPKG

@voidkey/broker-core

Version:

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

62 lines 2.62 kB
import { KeyConfiguration } from './types'; import { IdpProvider } from './idp'; import { AccessProvider, CredentialResponse } from './providers'; import { BrokerAuthProvider } from './auth'; 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 { BrokerAuthProvider, ClientCredentialsProvider, ClientCredentialsConfig } from './auth'; export declare class CredentialBroker { private idpProviders; private accessProviders; private defaultIdpName?; private clientIdentities; private brokerToken?; private brokerTokenExpiry?; private brokerIdpConfig?; private brokerAuthProvider?; constructor(brokerAuthProvider?: BrokerAuthProvider); private addBuiltInProviders; /** * Set the broker authentication provider * This allows the broker-server to inject its own auth logic */ setBrokerAuthProvider(provider: BrokerAuthProvider): void; 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