Skip to content

Core Concepts

eaccess is session-based Express auth backed by PostgreSQL. The middleware attaches an AuthManager to every request as req.auth, which handles login, registration, roles, MFA, OAuth, and session management.

Architecture

  • Auth tables with configurable prefix: accounts, confirmations, resets, remembers, providers, 2fa_methods, 2fa_tokens, activity_log
  • Express middleware creates an AuthManager per request and attaches it to req.auth
  • Admin UI mounts as Express middleware, serves a Vue SPA for user management
  • OAuth providers (GitHub, Google, Azure) with pluggable user creation
  • MFA: TOTP, email OTP, SMS OTP, backup codes
  • Roles: bitmask-based, either custom (defineRoles) or built-in defaults

Topics