UNPKG

@ynotzort/sveltekit-password-protect

Version:

Simple utility to add a layer of protection to your websites, very useful for agencies and freelancers

56 lines (55 loc) 2.43 kB
import type { CacheAdapter } from './InMemoryCache.js'; import type { DefaultOptions } from './types.js'; export declare class SessionStore { private cacheAdapter; private defaultOptions; namespace: string; constructor(cacheAdapter: CacheAdapter, defaultOptions: DefaultOptions); generateSessionToken(): Promise<string>; setSession(sessionToken: string, ttl: number): Promise<void>; getSession(sessionToken: string): Promise<boolean>; deleteSession(sessionToken: string): Promise<void>; getCookieHeaderValue(token: string): string; } export declare class SessionJWTStore { defaultOptions: DefaultOptions; signer: (payload: import("fast-jwt").SignerPayload) => string; verifier: (token: import("fast-jwt").Bufferable) => any; constructor(defaultOptions: DefaultOptions); generateSessionToken(): Promise<string>; setSession(_sessionToken: string, _ttl: number): Promise<boolean>; getSession(jwtToken: string): Promise<boolean>; deleteSession(_sessionToken: string): Promise<boolean>; getCookieHeaderValue(token: string): string; } export declare class CSRFTokenStore { cacheAdapter: CacheAdapter; defaultOptions: DefaultOptions; namespace: string; constructor(cacheAdapter: CacheAdapter, defaultOptions: DefaultOptions); generateCSRFToken(): Promise<`${string}-${string}-${string}-${string}-${string}`>; getCSRFToken(csrfToken: string): Promise<boolean>; deleteCSRFToken(csrfToken: string): Promise<void>; } export declare class FakeCSRFTokenStore { generateCSRFToken(): Promise<`${string}-${string}-${string}-${string}-${string}`>; getCSRFToken(_csrfToken: string): Promise<boolean>; deleteCSRFToken(_csrfToken: string): Promise<boolean>; } export declare class RateLimiter { defaultOptions: DefaultOptions; failedCalls: Map<any, any>; constructor(defaultOptions: DefaultOptions); incrementFailedCall(ipOrCookie: string): any; decrementFailedCall(ipOrCookie: string): void; checkRateLimit(ipOrCookie: string): boolean; } export declare class JWTManagement { defaultOptions: DefaultOptions; signer: (payload: import("fast-jwt").SignerPayload) => string; verifier: (token: import("fast-jwt").Bufferable) => any; constructor(defaultOptions: DefaultOptions); generateJWT(): string; verifyJWT(jwtToken: string): any; getJWTCookieHeaderValue(jwtToken: string): string; }