Skip to main content

NestJS Adapter

Package: @nauth-toolkit/nestjs Type: Framework Adapter

npm install @nauth-toolkit/nestjs

Exports

Module

ExportDescription
AuthModuleMain module with forRoot()
NAuthModuleConfigModule configuration type

Guards

ExportDocumentation
AuthGuardAuthGuard
NAuthContextGuardNAuthContextGuard
CsrfGuardCsrfGuard

Decorators

ExportDocumentation
@CurrentUser()CurrentUser
@Public()Public
IS_PUBLIC_KEYMetadata key set by @Public() — use in custom guards
@ClientInfo()ClientInfo
@TokenDelivery()TokenDelivery
TOKEN_DELIVERY_KEYMetadata key set by @TokenDelivery() — use in custom interceptors
RouteDeliveryEnum of delivery modes used with @TokenDelivery()
@RequireRecaptcha()RequireRecaptcha

Hook Decorators

ExportWhen It Fires
@PreSignupHook()Before a user account is created
@PostSignupHook()After a user account is created
@UserProfileUpdatedHook()After user profile attributes change
@PasswordChangedHook()After a password is changed
@MFADeviceRemovedHook()After an MFA device is removed
@AdaptiveMFARiskDetectedHook()When high-risk signin activity is detected
@AccountStatusChangedHook()After an account is enabled or disabled
@EmailChangedHook()After a user's email address is changed
@AccountLockedHook()After an account is locked
@SessionsRevokedHook()After user sessions are bulk revoked
@MFAFirstEnabledHook()After a user enables MFA for the first time
HookDecoratorOptionsOptions interface shared by all hook decorators

Hooks Module

ExportDescription
NAuthHooksModuleNAuthHooksModule — auto-registers lifecycle hook providers

Interceptors

ExportDocumentation
NAuthContextInterceptorNAuthContextInterceptor
CookieTokenInterceptorCookieTokenInterceptor

Filters

ExportDocumentation
NAuthHttpExceptionFilterNAuthHttpExceptionFilter

Pipes

ExportDocumentation
NAuthValidationPipeNAuthValidationPipe

Providers

ExportDocumentation
NestJsLoggerAdapterNestJsLoggerAdapter

Services

ExportDescription
CsrfServiceCSRF token generation and validation service

Storage Factories

ExportDescription
createRedisStorageAdapter(url)Redis session storage
createDatabaseStorageAdapter()Database session storage
createRedisClusterAdapter(nodes)Redis cluster storage

Re-exports from Core

All exports from @nauth-toolkit/core:

  • Services: AuthService, MFAService, SocialAuthService, etc.
  • DTOs: SignupDTO, LoginDTO, AuthResponseDTO, etc.
  • Interfaces: NAuthConfig, IUser, ISession, etc.
  • Enums: MFAMethod, AuthErrorCode, etc.
  • Exceptions: NAuthException

AuthModule

forRoot()

AuthModule.forRoot(config: NAuthModuleConfig): DynamicModule

Example

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthModule } from '@nauth-toolkit/nestjs';
import { getNAuthEntities } from '@nauth-toolkit/database-typeorm-postgres';

@Module({
imports: [
TypeOrmModule.forRoot({
type: 'postgres',
entities: getNAuthEntities(),
}),
AuthModule.forRoot({
jwt: {
algorithm: 'HS256',
accessToken: { secret: 'secret', expiresIn: '15m' },
refreshToken: { secret: 'refresh', expiresIn: '7d' },
},
}),
],
})
export class AppModule {}