UNPKG

@jeaks03/overseer

Version:

Just another TypeScript Back-End framework

25 lines (24 loc) 974 B
import { UserProvider } from "../../misc/custom-types"; import { Authentication, PasswordEncoder } from "./authentication"; import { PathInfo } from "../../routes/abstracts"; import { UserDetails } from "../user-details"; export declare class JWTAuthentication extends Authentication { private expiresIn; private secret; /** * @param expiresIn time in milliseconds or a string like '5h', '15m', etc. until the token expires */ constructor(expiresIn: number | string, userProvider: UserProvider, passwordEncoder: PasswordEncoder, secret: string); createAccessToken(info: PathInfo): Promise<ExplicitJwtToken<UserDetails>>; generateToken<T extends UserDetails>(user: T): ExplicitJwtToken<T>; authenticate(info: PathInfo): Promise<UserDetails>; } export interface JwtToken<T extends UserDetails> { iat: number; exp: number; user: T; } export interface ExplicitJwtToken<T extends UserDetails> { token: string; user: T; }