Skip to content

Introduction

Parako.ID is a self-hosted OpenID Connect (OIDC) and OAuth 2.0 identity provider built on the OpenID Certified node-oidc-provider library. It gives you full control over user authentication and authorization without per-user fees or vendor lock-in.

Deploy Parako.ID on your own infrastructure and use it as the central identity layer for all your applications — web apps, SPAs, mobile apps, APIs, IoT devices, and machine-to-machine services.

Parako.ID replaces managed identity services like Auth0, Okta, or Keycloak with a lightweight, TypeScript-native solution you own and operate.

  • Single Sign-On (SSO) — One login across all your applications via standard OIDC/OAuth2 flows
  • Multi-Factor Authentication — TOTP (authenticator apps), email OTP, SMS (Twilio), and WebAuthn/FIDO2 passkeys
  • Social Login — Federate with Google, GitHub, Microsoft, LinkedIn, and Facebook out of the box
  • Multi-Tenancy — Per-tenant data isolation, branding, configuration, and OIDC provider instances
  • Admin Panel — Web UI for managing users, clients, sessions, keys, settings, and audit logs
  • CLI Tools — Manage OIDC clients, JWKS keys, version updates, and systemd services from the terminal
  • Management API — RESTful API with 30 scoped permissions for programmatic administration
  • Multi-Database — SQLite (zero-setup default), MongoDB, or PostgreSQL with easy switching
  • Password Breach Detection — Integration with Have I Been Pwned to block compromised passwords
  • Device Verification — Detect new devices and require additional verification
  • Account Recovery — Backup codes, secondary email, SMS, and security questions
  • Multi-Account Sessions — Users can sign in with multiple accounts and switch between them
  • Internationalization — 10 locales included (en, fr, es, pt, de, it, ru, zh, ja, ko)
  • Custom Branding — Logos, colors, fonts, and custom view templates per tenant
  • Dynamic Client Registration — RFC 7591 support with initial access tokens
  • Device Flow — RFC 8628 for IoT devices and CLI tools
  • Prometheus Metrics — Built-in metrics endpoint for monitoring

Parako.ID is a Node.js application built with:

LayerTechnology
Web frameworkExpress.js
OIDC providernode-oidc-provider (OpenID Certified)
Dependency injectionInversifyJS
Primary databaseSQLite (Prisma), MongoDB (Mongoose), or PostgreSQL (Prisma)
OIDC storageSame as primary, or Redis for ephemeral data
Session storeMongoDB or Redis
TemplatingNunjucks
StylingTailwind CSS 4+
Build systemSWC + esbuild (tsc for type-checking)
Process managerPM2 or systemd
TestingVitest

The application follows a layered architecture:

  1. Controllers handle HTTP requests and delegate to services
  2. Services contain business logic (authentication, user management, OIDC client management)
  3. Repositories abstract database access through interfaces, enabling database switching
  4. OIDC Provider wraps node-oidc-provider with custom adapters and interaction handlers
  5. Middleware handles security (CORS, CSRF, rate limiting, session binding)

All components are wired together via the InversifyJS dependency injection container.

Runtime requirements:

RequirementVersion
Node.js>= 24
Yarn>= 1.22.22

Database options (choose one):

DatabaseUse case
SQLiteDevelopment, small deployments (single process only)
MongoDBProduction, multi-tenancy
PostgreSQLProduction, row-level security

Optional services:

ServicePurpose
RedisOIDC token storage, session store, caching
TwilioSMS-based MFA and recovery
SMTP serverEmail verification, OTP delivery, notifications
ipinfo.ioIP geolocation
IPQualityScoreIP reputation scoring

Deployment targets:

  • Linux VPS (recommended for production)
  • macOS or Linux (development)
CategoryWhat you will find
Getting StartedInstallation, first login, first OIDC client
ArchitectureConfiguration system, database setup
Authentication & AuthorizationOIDC clients, auth methods, social login, security, endpoints
Multi-Tenancy & PlatformTenant isolation, provider pooling, platform management
GuidesAdmin panel, CLI tools, app integration, email/SMS, branding
DevOpsDeployment, backups, updates, monitoring, troubleshooting
ExtendingManagement API overview and endpoint reference

Start with the Quickstart to get a running instance in minutes, then explore Configuration to customize your deployment.