@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
TypeScript
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;
}