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
Properties
options
protectedoptions: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
Methods
handle()
handle(
http,next):Promise<void|Response>
Defined in: auth/src/GuestMiddleware.ts:30
Parameters
http
next
Returns
Promise<void | Response>
Overrides
with()
staticwith<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
afterResponse()?
optionalafterResponse(ctx):Promise<void>
Defined in: core/src/middleware/BaseMiddleware.ts:70
Parameters
ctx
Returns
Promise<void>
Inherited from
onError()?
optionalonError(ctx,error):Promise<void>
Defined in: core/src/middleware/BaseMiddleware.ts:71
Parameters
ctx
error
Error
Returns
Promise<void>