Skip to main content
zerotal

Documentation


Documentation / zerotal / auth / RememberMeMiddleware

Class: RememberMeMiddleware

Defined in: packages/auth/src/RememberMeMiddleware.ts:47

Persistent "remember me" login.

Registered globally by AuthProvider, after PersistUserMiddleware:

  • Read (before the request): when no user was restored from the session, it reads the remember_web cookie (id|token), loads the user by id, and constant-time-compares sha256(token) to the stored hash. On a match it re-authenticates the user, re-seeds the session, and flags Auth.viaRemember().
  • Write (after the request): it flushes any cookie action queued by Auth.login({ remember: true }) / Auth.logout() onto the response.

The user loader is the same auth.userLoader binding PersistUserMiddleware uses; if none is registered, the read step is a silent no-op.

Extends

Constructors

Constructor

new RememberMeMiddleware(): RememberMeMiddleware

Defined in: packages/core/src/middleware/BaseMiddleware.ts:36

Returns

RememberMeMiddleware

Inherited from

BaseMiddleware.constructor

Properties

options

protected options: RememberMeOptions = {}

Defined in: packages/auth/src/RememberMeMiddleware.ts:48

Subclasses must declare this with their default option values. TypeScript enforces this at compile time — forgetting it is a type error.

Overrides

BaseMiddleware.options

Methods

handle()

handle(http, next): Promise<void | Response>

Defined in: packages/auth/src/RememberMeMiddleware.ts:50

Parameters

http

HttpContext

next

NextFn

Returns

Promise<void | Response>

Overrides

BaseMiddleware.handle


loadUser()

protected loadUser(userId, ctx): Promise<AuthUser | null>

Defined in: packages/auth/src/RememberMeMiddleware.ts:64

Load a user for a remember-cookie id via the auth.userLoader binding. Returns null (no throw) when no loader is registered — remember-me is best-effort and must never break a request.

Parameters

userId

number

ctx

HttpContext

Returns

Promise<AuthUser | null>


with()

static with<T, Opts>(this, options): () => InstanceType<T>

Defined in: packages/core/src/middleware/BaseMiddleware.ts:48

Returns a zero-arg subclass with the given options deep-merged on top of the subclass defaults, usable directly in app.use([...]).

Type Parameters

T

T extends (...args) => BaseMiddleware<any>

Opts

Opts = T extends (...args) => BaseMiddleware<U> ? U : object

Parameters

this

T

options

Partial<Opts>

Returns

() => InstanceType<T>

Inherited from

BaseMiddleware.with


afterResponse()?

optional afterResponse(ctx): Promise<void>

Defined in: packages/core/src/middleware/BaseMiddleware.ts:70

Parameters

ctx

HttpContext

Returns

Promise<void>

Inherited from

BaseMiddleware.afterResponse


onError()?

optional onError(ctx, error): Promise<void>

Defined in: packages/core/src/middleware/BaseMiddleware.ts:71

Parameters

ctx

HttpContext

error

Error

Returns

Promise<void>

Inherited from

BaseMiddleware.onError