n8n
Version:
n8n Workflow Automation Tool
31 lines (30 loc) • 819 B
TypeScript
import { Logger } from '@n8n/backend-common';
import type { JwksKeySource } from '../token-exchange.schemas';
export interface SkippedKey {
kid?: string;
reason: string;
}
export interface JwksResolvedKey {
kid: string;
algorithms: string[];
keyMaterial: string;
issuer: string;
expectedAudience?: string;
allowedRoles?: string[];
}
export interface JwksResolverResult {
keys: JwksResolvedKey[];
ttlSeconds: number;
skipped: SkippedKey[];
}
export declare class JwksResolverService {
private readonly logger;
constructor(logger: Logger);
resolveKeys(source: JwksKeySource, options?: {
fetcher?: typeof fetch;
defaultTtlSeconds?: number;
}): Promise<JwksResolverResult>;
private fetchJwkSet;
private parseJwk;
private computeTtl;
}