OpenAuthster

Multi-tenant authentication for Cloudflare Workers, powered by OpenAuth.

Deploy a fully-featured auth issuer once, then manage many projects from a single Web UI — with social logins, email/password, OIDC, per-user sessions, and more.


Why OpenAuthster?


Quick Start

📦 Note: The openauthster-shared package is currently for local development within the OpenAuthster workspace. Public npm publication is planned for future releases.

Nightly Client version:

# Clone the shared client repository
git clone https://github.com/shpaw415/OpenAuthSter-shared.git

Current Client version:

bun add openauthster-shared

the version of openauthster-shared should always match at least the patch version of OpenAuthSter-issuer you're using, so check the latest release notes for compatibility.

Usage:

import { createOpenAuthsterClient } from "openauthster-shared/client/user";
 
const client = createOpenAuthsterClient({
  clientID: "my_project",
  issuerURI: "https://auth.yourdomain.com",
  redirectURI: "https://myapp.com/",
  copyID: "en-us",
});
 
// Browser init — exchanges callback code and restores tokens
await client.init();
 
// Redirect to login
await client.login();
 
// Check state
client.isAuthenticated; // true after login
client.data.public; // user's public session data

Read the full Getting Started guide →


Repositories

RepositoryDescription
OpenAuthsterMain project overview
OpenAuthSter-issuerAuthentication server (Cloudflare Worker)
OpenAuthSter-webUIManagement dashboard (Cloudflare Pages)
OpenAuthSter-sharedClient SDK, types & database schemas
openauth-reactReact integration (WIP)
openauthster-docDocumentation site (this site)