UNPKG

@guardian/pan-domain-node

Version:

NodeJs implementation of Guardian pan-domain auth verification

22 lines (21 loc) 1.06 kB
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>; }