Skip to content

Latest commit

 

History

180 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neo ID

Auth/OIDC provider — TypeScript monorepo. Email, OAuth, Passkeys, MFA, sessions, developer portal, admin panel.

Stack

Package Tech
@neo-id/shared Zod, TypeScript types, constants
@neo-id/db Prisma 7 + PostgreSQL
@neo-id/auth-core JWT (RS256), bcrypt, OAuth2, WebAuthn, TOTP
@neo-id/api Hono HTTP server (Bun)
@neo-id/web Next.js 16 (SSR, App Router)
@neo-id/sdk JS/TS client SDK + React hooks

Quick Start

Nix

Requires Nix with flakes.

git clone https://github.com/Neo-Open-Source/neo-id.git && cd neo-id
nix run    # PostgreSQL + API + Web

Development

nix develop              # dev shell (tools on PATH, manage servers yourself)
nix run .#reset          # wipe DB + node_modules, start fresh

Just (no Nix)

Requires just, Node.js 24+, pnpm 9+, PostgreSQL 16+.

just setup
just dev

Run just --list for all commands.

Manual

pnpm install
cp .env.example .env

openssl genrsa -out jwt-private.pem 2048
openssl rsa -in jwt-private.pem -pubout -out jwt-public.pem

pnpm db:generate
pnpm db:migrate
pnpm dev

Environment

Required in .env:

DATABASE_URL          # PostgreSQL
JWT_PRIVATE_KEY       # RSA private key (PEM)
JWT_PUBLIC_KEY        # RSA public key (PEM)

Optional: GOOGLE_CLIENT_ID, GITHUB_CLIENT_ID, RESEND_API_KEY, TURNSTILE_SECRET_KEY.

Deployment

Vercel — push to GitHub, import on Vercel, set env vars, deploy.

Netlify — push to GitHub, connect repo, set env vars, deploy.

Contributing

Rules

Diversity, Equity & Inclusion

DEI

License

MIT

About

OAuth Service

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages