atlassian-connect-auth
Version:
Helper for handling webhooks from Atlassian products
22 lines • 907 B
TypeScript
import { ConnectJwt } from '../types';
import { KeyProvider } from './KeyProvider';
export interface CacheWrapper {
get(kid: string): Promise<string>;
set(kid: string, key: string): Promise<void>;
}
export interface CachingKeyProviderArgs {
provider: KeyProvider;
cache: CacheWrapper;
}
/**
* General-purpose implementation that facilitates caching a recent public key in case CDN is inaccessible.
* Caching is optional and, if used, must be done by the `kid`. Public keys should be rotated often and will get a new
* kid every time which will then effectively invalidate the cache.
*/
export declare class CachingKeyProvider implements KeyProvider {
provider: KeyProvider;
cache: CacheWrapper;
constructor(provider: KeyProvider, cache: CacheWrapper);
get(kid: string, unverifiedConnectJwt: ConnectJwt): Promise<string>;
}
//# sourceMappingURL=CachingKeyProvider.d.ts.map