An open API service indexing awesome lists of open source software.

https://github.com/dahkenangnon/clav.run

The OAuth Identity Server You Own Powered by OAuth & OIDC β€” written in Node + TypeScript (Node.ts).
https://github.com/dahkenangnon/clav.run

iam jwks mfa node-oidc-provider oauth oauth2 openid openid-connect security user-management

Last synced: 6 months ago
JSON representation

The OAuth Identity Server You Own Powered by OAuth & OIDC β€” written in Node + TypeScript (Node.ts).

Awesome Lists containing this project

README

          

🌐 Website β€’
πŸ“š Documentation β€’
πŸ’» GitHub β€’
πŸ‡«πŸ‡· FranΓ§ais


Clav.run Logo

# Clav.run

Own Your Users β€’ Zero Per-User Costs β€’ Deploy in 3 Minutes β€’ Secure Everything



Semantic Release


ESLint


Vitest


Commitizen


Commitlint


Security concerns? Contact us at justin@claviscore.com β€’ View Security Policy


---

**Stop paying per user!** Clav.run is the **self-hosted identity server** that puts you in control. Deploy in **1-2-3 minutes** on any VPS or cloud, scale infinitely, and authenticate users with **any method** - passwords, biometrics, WebAuthn, MFA, or passwordless. Works in low-bandwidth zones, supports multiple accounts, and costs **zero per user**. πŸš€

Built on the OpenID Certifiedβ„’ [node-oidc-provider](https://github.com/panva/node-oidc-provider) library, delivering full OAuth 2.0 [(RFC 6749)](https://www.rfc-editor.org/rfc/rfc6749.html) and [OIDC](https://openid.net/connect/) compliance with advanced standards support.

> ⚠️ **Note**: While using the certified library, Clav.run itself has not undergone OpenID Foundation certification.

---

## ✨ Key Features

- **πŸ‘₯ Multi-Account Sessions** – Seamlessly switch between identities
- **🎯 Native `select_account` Prompt** – Simplifies account chooser UX
- **🌐 Federation Support** – Connect with external identity providers
- **⚑ Scalable & Performant** – Cluster-ready for high-load use cases
- **πŸ“± Clean UI** – Accessible, responsive login and consent flows
- **πŸ”’ MFA Support** – TOTP + email-based 2FA out-of-the-box
- **πŸ“Š Audit Logging** – Track activity and session lifecycle

πŸ“„ See the full [changelog](./changelog.md) β€’ πŸ—ΊοΈ Check out our [roadmap](./ROADMAP.md)

---

## 🎯 Use Cases

| Persona | Benefits |
| ---------------------- | --------------------------------------------------------------- |
| **πŸš€ Startups** | Fast to deploy, minimal complexity |
| **πŸ‘¨β€πŸ’Ό Solopreneurs** | Zero recurring costs, full control over identity stack |
| **🏒 SMBs** | Centralized login across internal or client-facing apps |
| **πŸ”§ Developers** | Flexible API, prebuilt flows, modern CLI |
| **πŸ“± Multi-App Teams** | Full SSO and account linking across multiple tools and projects |

---

## πŸ†š Why Choose Clav.run?

| Feature | Clav.run | Enterprise Solutions | Raw Library |
| -------------------- | --------------- | -------------------- | --------------- |
| **Setup Time** | πŸš€ Minutes | ⏱️ Weeks | πŸ› οΈ Manual Setup |
| **UI Included** | βœ… Complete | βœ… Enterprise UI | ❌ No |
| **Self-Hosted** | βœ… Fully | ❌ Cloud/Hybrid | βœ… Yes |
| **Cost** | πŸ’° Free | πŸ’Έ Expensive | πŸ’° Free |
| **OpenID Certified** | ⚠️ Library Only | βœ… Full | βœ… Full |

Enhanced library with complete UI and streamlined setup.

---

## πŸš€ Quick Start

### πŸ”’ Option 1: Use Production Release (Recommended)

```bash
# Download the latest release
wget https://github.com/Dahkenangnon/clav.run/releases/latest/download/clav-run-v*.tar.gz
tar -xzf clav-run-v*.tar.gz && cd clav-run-release

# System check & setup
yarn clav requirements
yarn clav setup

# Stay up-to-date
yarn update latest
```

### πŸ› οΈ Option 2: Run from Source

```bash
git clone https://github.com/Dahkenangnon/clav.run.git
cd clav.run
yarn install

yarn clav requirements
yarn clav setup
yarn jwks generate

yarn dev
```

πŸ“ Visit [`http://localhost:9007`](http://localhost:9007) to get started.

---

## πŸ› οΈ CLI Overview

```bash
# General
yarn clav requirements # Check prerequisites
yarn clav setup # Interactive setup
yarn clav config validate # Validate current config
yarn clav config set # Set a config key

# OIDC Clients
yarn clav client add # Add a new client
yarn clav client list # List registered clients

# Keys
yarn jwks generate # Generate new JWKS
yarn jwks quick # Quick key generation

# Updates
yarn update latest # Update to latest version
yarn update list # View all available versions
yarn update --target 1.0.0 # Update to specific version
yarn update --interactive # Interactive mode

# Server
yarn start # Start dev server
yarn restart # Restart via PM2
```

---

## πŸ“¦ Deployment

### Using PM2

```bash
# Start in production mode
pm2 start ecosystem.config.cjs --env production

# Or in development mode
pm2 start ecosystem.config.cjs --env development
```

---

## πŸ†˜ Support & License

- πŸ›‘ **Security Issues**: [justin@claviscore.com](mailto:justin@claviscore.com)
- πŸ“š **Documentation**: [https://clav.run/docs](https://clav.run/docs)
- πŸ“„ **License**: MIT License - see [LICENSE](./LICENSE)

---


Clav.run – Identity in Motion


---


Prettier


Conventional Changelog


Husky