Components
Authara consists of several components that together provide authentication infrastructure for applications.
The system is designed to be modular so each component can evolve independently.
Authara Core
Authara Core is the main authentication server.
Most of the documentation on this site refers to Authara Core and its HTTP interface.
Authara Core provides:
- login and signup flows
- session management
- refresh token rotation
- OAuth login
- passkey login and account management
- native token sessions for mobile clients
- organization membership and invitation flows
- authentication APIs
Authara Core is implemented as a Go HTTP server backed by PostgreSQL.
Repository:
https://github.com/authara-org/authara
Authara Gateway
The Authara Gateway is a lightweight reverse proxy that routes requests between your application and Authara.
Typical routing:
/auth/* → Authara
/* → Application
The gateway simplifies deployments and provides a consistent entry point for authentication routes.
Repository:
https://github.com/authara-org/authara-gateway
SDKs
Authara provides optional SDKs that simplify integration with applications. They remain explicit about authentication and authorization policy while handling the transport details appropriate to each platform.
Available SDKs include:
- authara-go — Go integration helpers
- @authara/browser — browser helpers for CSRF, refresh, and logout
- @authara/react — Google, Apple, and Microsoft buttons for browser apps
- @authara/react-native — native token lifecycle, React hooks, secure storage adapters, and provider sign-in buttons
Applications may always call the HTTP API directly if preferred.
Summary
Authara is composed of several small components:
| Component | Purpose |
|---|---|
| Authara Core | Authentication server |
| Authara Gateway | Reverse proxy routing /auth |
| Migrations | Database schema management |
| SDKs | Optional integration helpers |
Together these components provide a complete self-hosted authentication infrastructure.