Skip to content

shpaw415/OpenAuthSter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenAuthster

A multi-tenant authentication server built with OpenAuth, designed for Cloudflare Workers with a complete Web UI for project orchestration.

Overview

OpenAuthster provides developers with a ready-to-deploy authentication solution featuring:

  • 🔐 OpenAuth Issuer Server - Secure authentication powered by OpenAuth
  • 🏢 Multi-Tenant Support - Manage multiple projects/applications from a single deployment
  • 🎨 Web UI Dashboard - Configure themes, providers, and project settings
  • ☁️ Cloudflare Workers - Edge-deployed for low latency worldwide
  • 📦 Full-Stack SDKs - React hooks, TypeScript client, and shared types

Architecture

OpenAuthster follows a modular architecture:

┌─────────────────┐
│  Your App       │
│  (React/Next)   │
└────────┬────────┘
         │ Uses openauth-react
         │
         ▼
┌─────────────────────────────────┐
│  OpenAuthster Issuer            │
│  (Cloudflare Worker)            │
│  • Multi-tenant auth            │
│  • OAuth providers              │
│  • D1 Database                  │
└────────┬────────────────────────┘
         │ Managed by
         │
         ▼
┌─────────────────────────────────┐
│  OpenAuthster WebUI             │
│  (Cloudflare Pages)             │
│  • Project management           │
│  • Theme customization          │
│  • Provider configuration       │
└─────────────────────────────────┘

All components share:

  • Common TypeScript types via openauthster-shared
  • Consistent API contracts
  • Unified session management

Repository Structure

OpenAuthster is a multi-repo project consisting of the following repositories:

Note: GitHub repository names may differ from local workspace folder names. The table below shows the published GitHub repository names.

Core Repositories

Repository Workspace Folder Description
OpenAuthSter-issuer openauth-multitenant-server Cloudflare Worker containing the OpenAuth issuer server with multi-tenant capabilities
OpenAuthSter-webUI openauth-webui Web UI dashboard for managing projects, customizing themes, and configuring authentication providers
OpenAuthSter-shared openauth-webui-shared-types Shared TypeScript types, database schemas, and client SDK for connecting to OpenAuthster

Client SDKs

Repository Workspace Folder Description Status
openauth-react openauth-react React integration for client-side authentication 🚧 WIP

Documentation

Repository Workspace Folder Description
openauthster-doc openauthster-doc Official documentation site

Workspace Commands

The workspace root now includes an orchestration layer for running the most common tasks across the runtime repositories without changing directories.

Run these from this repository:

bun run install:core
bun run check
bun run test
bun run build

To include docs as well:

bun run install:all
bun run check:all
bun run test:all
bun run build:all

For targeted execution:

bun run workspace -- test --repo=issuer,shared
bun run workspace -- check --scope=all --continue-on-error

This is the first migration phase toward a real monorepo. The source trees are still in sibling repositories, but the control plane now lives in the workspace root. See MONOREPO.md for the staged migration approach.

Getting Started

OpenAuthster requires deploying both the issuer server and WebUI. Follow this sequence:

Quick Start Guide

  1. Deploy the Issuer (required first)

  2. Deploy the WebUI (requires issuer)

  3. Integrate with Your App

    • Install the React SDK: npm install openauth-react (coming soon)
    • Or use the low-level client from openauthster-shared (for local development)
    • 📖 Client integration guide

Security Best Practice

⚠️ Important: Clone all OpenAuthster repositories as private repositories for production use. This protects your authentication configuration, secrets, and custom implementations.

Documentation

Contributing

OpenAuthster is in active development. Contributions, bug reports, and feature requests are welcome!

  1. Fork the relevant repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

License information coming soon

About

OpenAuth manangment system with multitenant support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors