@guardian/pan-domain-node
Version:
NodeJs implementation of Guardian pan-domain auth verification
22 lines (21 loc) • 1.06 kB
TypeScript
import { User, AuthenticationResult, ValidateUserFn } from './api';
import { PublicKeyHolder } from './fetch-public-key';
import { S3 } from "@aws-sdk/client-s3";
import { AwsCredentialIdentityProvider } from "@aws-sdk/types";
export declare function createCookie(user: User, privateKey: string): string;
export declare function verifyUser(pandaCookie: string | undefined, publicKey: string, currentTime: Date, validateUser: ValidateUserFn): AuthenticationResult;
export declare class PanDomainAuthentication {
cookieName: string;
region: string;
bucket: string;
keyFile: string;
validateUser: ValidateUserFn;
publicKey: Promise<PublicKeyHolder>;
keyCacheTimeInMillis: number;
keyUpdateTimer?: NodeJS.Timeout;
s3Client: S3;
constructor(cookieName: string, region: string, bucket: string, keyFile: string, validateUser: ValidateUserFn, credentialsProvider?: AwsCredentialIdentityProvider);
stop(): void;
getPublicKey(): Promise<string>;
verify(requestCookies: string | undefined): Promise<AuthenticationResult>;
}