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
@PhoneChangedHook()After a user's phone number is changed
@SessionsRevokedHook()After user sessions are bulk revoked
@MFAFirstEnabledHook()After a user enables MFA for the first time

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 {}