# anomalyco/openauth

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/anomalyco-openauth).**

6,971 stars · 262 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/anomalyco/openauth
- Homepage: https://openauth.js.org
- awesome-repositories: https://awesome-repositories.com/repository/anomalyco-openauth.md

## Description

OpenAuth is a standards-based authentication server and identity provider that implements OAuth 2.0 and OpenID Connect protocols. It serves as a centralized system for managing user identities, issuing access tokens, and orchestrating authentication flows across various services.

The project functions as a federated identity gateway, aggregating external providers such as Google, GitHub, Microsoft, Apple, and Discord into a unified login flow. It distinguishes itself with a multi-tenant architecture that supports pluggable identity providers and customizable user interface frameworks for branding and theme management.

The platform covers comprehensive identity management, including local password authentication, email verification, and security PINs. It features a decoupled persistence layer with storage adapters for DynamoDB, key-value stores, and in-memory systems. Security capabilities include PKCE support, schema-based subject validation for identity payloads, and client access restrictions based on request metadata.

The software is designed for multi-environment deployment, allowing it to run as a standalone service or an embedded module across different cloud runtimes.

## Tags

### Part of an Awesome List

- [Centralized App Authentication Layers](https://awesome-repositories.com/f/awesome-lists/security/authentication-and-permissions/centralized-app-authentication-layers.md) — Acts as a centralized authentication layer managing passwords and multi-provider logins for multiple services.

### Security & Cryptography

- [OAuth 2.0 Authorization Servers](https://awesome-repositories.com/f/security-cryptography/oauth-2-0-authorization-servers.md) — Functions as a standards-compliant OAuth 2.0 and OpenID Connect authorization server that manages client registrations and issues tokens.
- [Token Authenticity Verifications](https://awesome-repositories.com/f/security-cryptography/access-token-management/token-authenticity-verifications.md) — Validates the authenticity and expiration of access tokens to secure API requests and manage sessions. ([source](https://cdn.jsdelivr.net/gh/anomalyco/openauth@master/README.md))
- [Authentication Flows](https://awesome-repositories.com/f/security-cryptography/authentication-flows.md) — Generates secure redirect URLs to initiate OAuth 2.0 and OpenID Connect authorization flows. ([source](https://openauth.js.org/docs/client/))
- [Proof Key for Code Exchange](https://awesome-repositories.com/f/security-cryptography/authentication-flows/proof-key-for-code-exchange.md) — Supports the secure exchange of authorization codes for access tokens, utilizing PKCE to prevent interception attacks. ([source](https://openauth.js.org/docs/client/))
- [Email Verification Flows](https://awesome-repositories.com/f/security-cryptography/email-authentication-strategies/email-verification-flows.md) — Provides workflows for verifying user identity by sending unique one-time validation codes via email. ([source](https://openauth.js.org/docs/start/standalone/))
- [OAuth and Identity Providers](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/oauth-identity-providers.md) — Supports a modular system for delegating authentication to various external identity providers and third-party platforms.
- [Identity Gateways](https://awesome-repositories.com/f/security-cryptography/identity-gateways.md) — Operates as an identity gateway bridging local services to various external authentication providers.
- [Identity Payload Extractions](https://awesome-repositories.com/f/security-cryptography/identity-token-services/identity-payload-extractions.md) — Extracts and validates user identity data from access tokens to identify the authenticated subject. ([source](https://openauth.js.org/docs/subject/))
- [Token Subject Specifications](https://awesome-repositories.com/f/security-cryptography/identity-token-services/token-subject-specifications.md) — Specifies the structure and content of the user identity data embedded within issued tokens. ([source](https://openauth.js.org/docs/issuer/))
- [Multi-Tenant Authentication Services](https://awesome-repositories.com/f/security-cryptography/multi-tenant-security/multi-tenant-authentication-services.md) — Supports a multi-tenant architecture with isolated user pools and tenant-specific configurations.
- [OAuth 2.0 Authorization Flows](https://awesome-repositories.com/f/security-cryptography/oauth-2-0-authorization-flows.md) — Implements the standard OAuth 2.0 protocol for exchanging authorization codes and tokens to secure application access. ([source](https://cdn.jsdelivr.net/gh/anomalyco/openauth@master/README.md))
- [PKCE Authorization Flows](https://awesome-repositories.com/f/security-cryptography/oauth-2-0-authorization-flows/pkce-authorization-flows.md) — Implements secure authorization code flows using PKCE to exchange temporary codes for access tokens via browser redirects.
- [Token and Key Storage](https://awesome-repositories.com/f/security-cryptography/oauth-authentication-apis/token-and-key-storage.md) — Manages the persistent storage of OAuth refresh tokens and security credentials. ([source](https://openauth.js.org/docs/))
- [OAuth Provider Integrations](https://awesome-repositories.com/f/security-cryptography/oauth-authentication/oauth-provider-integrations.md) — Integrates with generic external OAuth 2.0 providers to facilitate user sign-in without local credentials. ([source](https://openauth.js.org/docs/provider/oauth2/))
- [OIDC Identity Token Issuance](https://awesome-repositories.com/f/security-cryptography/oidc-identity-token-issuance.md) — Issues OIDC identity tokens based on validated user roles and attributes.
- [OpenID Connect Providers](https://awesome-repositories.com/f/security-cryptography/openid-connect-providers.md) — Functions as an OpenID Connect provider to issue identity tokens and enable single sign-on.
- [OpenID Connect Support](https://awesome-repositories.com/f/security-cryptography/openid-connect-support.md) — Implements the OpenID Connect protocol to manage user identities across external authentication services. ([source](https://openauth.js.org/docs/provider/oidc/))
- [Password Authentication](https://awesome-repositories.com/f/security-cryptography/password-authentication.md) — Verifies user identities using traditional username and password combinations to grant access to protected resources. ([source](https://openauth.js.org/docs/provider/password/))
- [Session Token Refreshers](https://awesome-repositories.com/f/security-cryptography/session-token-refreshers.md) — Implements mechanisms to obtain new access tokens using refresh tokens to maintain session continuity. ([source](https://openauth.js.org/docs/))
- [Third-Party Identity Integrations](https://awesome-repositories.com/f/security-cryptography/third-party-identity-integrations.md) — Aggregates external providers such as Google, GitHub, Microsoft, and Discord into a unified login flow.
- [Identity Header Injections](https://awesome-repositories.com/f/security-cryptography/user-identity-management/identity-header-injections.md) — Injects authenticated user attributes into access tokens for downstream authorization. ([source](https://openauth.js.org/docs/subject/))
- [Identity Payload Definitions](https://awesome-repositories.com/f/security-cryptography/user-identity-management/identity-payload-definitions.md) — Defines the data structure and validation rules for user identities embedded into access tokens. ([source](https://openauth.js.org/docs/subject/))
- [Token Payload Validations](https://awesome-repositories.com/f/security-cryptography/user-identity-management/token-payload-validations.md) — Enforces schema-based validation for user identity attributes embedded within issued access tokens.
- [Request Access Restrictions](https://awesome-repositories.com/f/security-cryptography/domain-access-restrictions/request-access-restrictions.md) — Evaluates request metadata and redirect URIs to restrict client access to the issuer. ([source](https://openauth.js.org/docs/issuer/))
- [Customizable Login Interfaces](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/customizable-login-interfaces.md) — Provides a framework for creating branded, customizable login and provider selection interfaces.
- [Apple Authentication Providers](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/oauth-identity-providers/apple-authentication-providers.md) — Enables user identity verification through Apple accounts using OAuth2 and OIDC protocols. ([source](https://openauth.js.org/docs/provider/apple/))
- [Identity Store Adapters](https://awesome-repositories.com/f/security-cryptography/identity-access-management/credential-lifecycle-management/authentication-management/connection-credentials/stored-credential-retrievals/database-backed-retrieval/identity-store-adapters.md) — Features pluggable identity store adapters for swapping between DynamoDB, KV stores, and memory.
- [User Identity Verification](https://awesome-repositories.com/f/security-cryptography/identity-authentication/user-identity-verification.md) — Implements user-facing verification flows that deliver security PINs via email or phone using custom callbacks. ([source](https://openauth.js.org/docs/ui/code/))
- [Google Account Authentications](https://awesome-repositories.com/f/security-cryptography/identity-provider-integrations/sso-integrations/google-cloud-oidc-integrations/google-account-authentications.md) — Implements user identity verification using Google accounts via OAuth2 and OpenID Connect. ([source](https://openauth.js.org/docs/provider/google/))
- [Identity Providers](https://awesome-repositories.com/f/security-cryptography/identity-providers.md) — Provides a centralized identity provider role that orchestrates which authentication services are presented to the user. ([source](https://openauth.js.org/docs/ui/select/))
- [Token Lifecycle Management](https://awesome-repositories.com/f/security-cryptography/identity-token-services/token-lifecycle-management.md) — Manages the lifecycle of refresh tokens and authorization codes within a persistence layer to maintain user sessions.
- [Microsoft Account Integrations](https://awesome-repositories.com/f/security-cryptography/microsoft-account-integrations.md) — Implements authentication and authorization flows for Microsoft personal, work, and school accounts. ([source](https://openauth.js.org/docs/provider/microsoft/))
- [Facebook Integrations](https://awesome-repositories.com/f/security-cryptography/oauth-authentication/facebook-integrations.md) — Provides authentication and authorization flows specifically for verifying identities via Facebook accounts. ([source](https://openauth.js.org/docs/provider/facebook/))
- [Spotify Identity Verifications](https://awesome-repositories.com/f/security-cryptography/oauth-authentication/oauth-provider-integrations/spotify-oauth-integrations/spotify-identity-verifications.md) — Verifies user identities via the OAuth 2.0 protocol by integrating with Spotify identity services. ([source](https://openauth.js.org/docs/provider/spotify/))
- [PIN Code Authentications](https://awesome-repositories.com/f/security-cryptography/passkey-authentication/authentication-code-processing/pin-code-authentications.md) — Handles the exchange of unique PIN codes to authenticate users and link their devices. ([source](https://openauth.js.org/docs/provider/code/))
- [Third-Party Authentication Providers](https://awesome-repositories.com/f/security-cryptography/third-party-authentication-providers.md) — Provides integration with GitHub as an external identity provider for user authentication. ([source](https://openauth.js.org/docs/provider/github/))
- [AWS Cognito Providers](https://awesome-repositories.com/f/security-cryptography/user-authentication-strategies/aws-cognito-providers.md) — Verifies user identities and manages sessions by integrating with AWS Cognito OAuth endpoints. ([source](https://openauth.js.org/docs/provider/cognito/))
- [Discord Identity Providers](https://awesome-repositories.com/f/security-cryptography/user-authentication-strategies/discord-identity-providers.md) — Integrates with the Discord authentication service to verify user identities. ([source](https://openauth.js.org/docs/provider/discord/))

### Web Development

- [Schema Validation](https://awesome-repositories.com/f/web-development/schema-validation.md) — Uses schema validation to verify the data structure of user identities mapped to access tokens. ([source](https://cdn.jsdelivr.net/gh/anomalyco/openauth@master/README.md))

### Data & Databases

- [Data Storage Adapters](https://awesome-repositories.com/f/data-databases/data-storage-adapters.md) — Implements a modular adapter pattern to decouple authentication logic from various storage backends. ([source](https://openauth.js.org/docs/issuer/))
- [Cloudflare Workers KV Stores](https://awesome-repositories.com/f/data-databases/key-value-store-clients/cloudflare-workers-kv-stores.md) — Persists authentication server data using Cloudflare Workers KV for distributed access and high availability. ([source](https://openauth.js.org/docs/storage/cloudflare/))
- [Storage Backend Adapters](https://awesome-repositories.com/f/data-databases/storage-backend-adapters.md) — Provides storage backend adapters to decouple authentication logic from specific persistence layers like DynamoDB or in-memory stores.

### DevOps & Infrastructure

- [Multi-Runtime Deployment](https://awesome-repositories.com/f/devops-infrastructure/multi-runtime-deployment.md) — Supports deployment as either a standalone service or an embedded module across different cloud runtimes. ([source](https://openauth.js.org/))

### Software Engineering & Architecture

- [Data Validation Schemas](https://awesome-repositories.com/f/software-engineering-architecture/data-validation-schemas.md) — Enforces specific data structures for user identity payloads using validation schemas before they are embedded into tokens.

### System Administration & Monitoring

- [OAuth 2.0 Provider Integrations](https://awesome-repositories.com/f/system-administration-monitoring/user-account-management/multi-user-account-systems/oauth-2-0-provider-integrations.md) — Uses the OAuth 2.0 specification to integrate Slack as an identity provider for user authentication. ([source](https://openauth.js.org/docs/provider/slack/))

### User Interface & Experience

- [Authentication UI Components](https://awesome-repositories.com/f/user-interface-experience/authentication-ui-components.md) — Renders dedicated UI components for password-based authentication, sign-up, and verification workflows. ([source](https://openauth.js.org/docs/ui/password/))
