Skip to main content
zerotal

Documentation


Documentation / @zerotal/auth / GuestMiddleware

Class: GuestMiddleware

Defined in: auth/src/GuestMiddleware.ts:27

Ensures the request is from a guest (not authenticated) — the inverse of AuthMiddleware. If ctx.user is set (populated upstream by PersistUserMiddleware), it returns a 302 redirect to redirectTo (default /) instead of running the route; otherwise the request proceeds.

Use on routes that should only be reachable by unauthenticated users, e.g. login and registration pages.

Example

Router.get('/login', AuthController, 'showLogin', [GuestMiddleware]);
Router.post('/login', AuthController, 'login',    [GuestMiddleware]);

// Override the redirect target:
app.use([GuestMiddleware.with({ redirectTo: '/dashboard' })]);

Extends

Constructors

Constructor

new GuestMiddleware(): GuestMiddleware

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

Returns

GuestMiddleware

Inherited from

BaseMiddleware.constructor

Properties

options

protected options: GuestOptions

Defined in: auth/src/GuestMiddleware.ts:28

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: auth/src/GuestMiddleware.ts:30

Parameters

http

HttpContext

next

NextFn

Returns

Promise<void | Response>

Overrides

BaseMiddleware.handle


with()

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

Defined in: 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: 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: core/src/middleware/BaseMiddleware.ts:71

Parameters

ctx

HttpContext

error

Error

Returns

Promise<void>

Inherited from

BaseMiddleware.onError