Secure by default

Node.js Auth System

A production-ready authentication system with local credentials, GitHub OAuth, session management, and role-based access control.

Local Auth

Email & password login with Passport.js local strategy and bcrypt hashing.

GitHub OAuth

One-click sign-in with GitHub using OAuth 2.0 via Passport.js.

Role-Based Access

User and admin roles with protected routes and middleware-level authorization.

Session Control

Express sessions with admin ability to view and terminate active user sessions.


Tech Stack
Node.js Express TypeScript Passport.js EJS GitHub OAuth Express Sessions
Demo Credentials
user jimmy123@gmail.com / jimmy123!
user johnny123@gmail.com / johnny123!
admin jonathan123@gmail.com / jonathan123!