Skip to main content
Version: 0.4.2 (Previous)

🔐 Authentication Feature Blocks

Authentication feature blocks provide complete, pre-composed functionality for user authentication operations in Nodeblocks applications. These features combine schemas, routes, and handlers to create ready-to-use API endpoints for login, registration, email verification, and session management.


🎯 Overview

Authentication feature blocks are designed to:

  • Provide complete authentication workflows for user login and registration
  • Combine schemas with routes for validated authentication operations
  • Include security measures and token management automatically
  • Support email verification and account confirmation flows
  • Handle session management and logout operations seamlessly

📋 Feature Structure

Each authentication feature follows a consistent composition pattern:

  • Schema: Validates authentication input data and parameters
  • Route: Provides HTTP endpoint with authentication handlers
  • Composition: Combines schema and route using compose function

🔧 Available Authentication Features

loginWithCredentialsFeature

Provides complete login and logout functionality with credential validation.

Purpose: Handles user authentication with validated credentials and secure logout

Composition:

Usage:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api/auth', defService(partial(features.loginWithCredentialsFeature, [{ dataStores: db }])));

API Endpoints:

  • POST /api/auth/login - User authentication
  • POST /api/auth/logout - Session termination

registerCredentialsFeature

Handles user registration with credential validation and account creation.

Purpose: Processes new user registration with data validation

Composition:

Usage:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api/auth', defService(partial(features.registerCredentialsFeature, [{ dataStores: db }])));

API Endpoint: POST /api/auth/register


emailVerificationFeature

Sends verification emails to users for account confirmation.

Purpose: Handles email verification request processing

Composition:

Usage:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.emailVerificationFeature, [{ dataStores: db }])));

API Endpoint: POST /api/auth/:userId/send-verification-email


confirmEmailFeature

Processes email confirmation tokens to verify user accounts.

Purpose: Validates email verification tokens and confirms user accounts

Composition:

Usage:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.confirmEmailFeature, [{ dataStores: db }])));

API Endpoint: POST /api/auth/confirm-email