UNPKG

@accounts/express-session

Version:

Stores the access and refresh tokens as part of the session (`express-session`), this way auth flow could be based on it.

24 lines (23 loc) 943 B
import { type AccountsServer } from '@accounts/server'; import { type Tokens, type User, type LoginResult } from '@accounts/types'; import { type Request, type Response, type NextFunction } from 'express'; import 'express-session'; export interface AccountsSessionOptions { user?: { name: string; resolve?: (tokens: Tokens, request: Request, rawUser?: User) => User | Promise<User>; }; name?: string; } export declare class AccountsSession { private accountsServer; private options; constructor(accountsServer: AccountsServer, options?: AccountsSessionOptions); middleware(): (req: Request, res: Response, next: NextFunction) => Promise<void>; destroy(req: Request): Promise<void>; get(req?: Request): Tokens | undefined; renew(req: Request): Promise<LoginResult | undefined>; set(req: Request, tokens: Tokens): void; clear(req: Request): void; } export default AccountsSession;