Official JavaScript SDKs for Clerk, a hosted service for user sign-up, sign-in and profile management in web apps.
supabase/auth
A Go-based authentication and user management server that issues JWTs, powering Supabase Auth.
Open-source alternative to:Auth0
Firebase Authentication
- Stars
- 2,593
- Forks
- 802
- Open issues
- 399
- Last commit
- 16 hours ago
What is it?
Auth is a user management and authentication server written in Go. It handles user sign-up and sign-in, issues JWT access and refresh tokens, and provides the identity layer that Supabase uses for features such as Row Level Security with PostgREST. Supported sign-in methods include email and password, magic links, phone number OTP, and external OAuth providers such as Google, Apple, GitHub, and Discord.
The server is configured through environment variables prefixed with GOTRUE_ and runs against PostgreSQL, with migrations applied automatically on startup. It includes admin endpoints for managing users and generating action links, email templates for confirmation, recovery and invites, optional CAPTCHA checks, refresh token rotation with reuse detection, and OpenTelemetry tracing and metrics. The project is a fork of Netlify's GoTrue codebase and has diverged from it in features.
The project is intended to run as a service rather than a Go library, and the maintainers recommend running it behind a TLS-capable proxy and not modifying the schema it manages.
Key features
- 01Issues JWT access and refresh tokens, with refresh token rotation and reuse detection
- 02Supports email/password, magic link, phone OTP, and anonymous sign-in
- 03Integrates with many OAuth providers including Google, Apple, GitHub, and Discord
- 04Includes admin APIs for creating, updating, and banning users and generating action links
- 05Sends customizable email templates for confirmation, recovery, invites, and notifications
- 06Exports OpenTelemetry traces and Prometheus or OpenTelemetry metrics
Use cases
- Adding user accounts and social login to a Supabase project or a self-hosted Supabase stack
- Issuing JWTs that a PostgreSQL-backed API uses for row-level access control
- Running a self-hosted authentication service with email, phone, and OAuth sign-in
Quick start
- 1
Start the local Postgres database in a container
docker-compose -f docker-compose-dev.yml up postgres - 2
Build the auth binary
make build - 3
Run the auth binary
./auth
Things to know
- Running it in production requires a process to promptly apply security updates, and the README recommends using hosted Supabase Auth instead.
- Not meant to be used as a Go library, and Go API compatibility is not guaranteed.
- Some inherited Netlify features such as multi-tenancy and super admin may be removed without notice.
In collections
Topics
FAQ
- What is auth?
- A Go-based authentication and user management server that issues JWTs, powering Supabase Auth. Auth is a user management and authentication server written in Go. It handles user sign-up and sign-in, issues JWT access and refresh tokens, and provides the identity layer that Supabase uses for features such as Row Level Security with PostgREST. Supported sign-in methods include email and password, magic links, phone number OTP, and external OAuth providers such as Google, Apple, GitHub, and Discord.
- Is auth free to use? What license does it have?
- auth is open source under the MIT license. Check the license terms before using it in commercial products.
- Is auth still maintained?
- Actively maintained. The last commit to auth was on Nov 5, 2026.
- What can I use auth for?
- Adding user accounts and social login to a Supabase project or a self-hosted Supabase stack Issuing JWTs that a PostgreSQL-backed API uses for row-level access control Running a self-hosted authentication service with email, phone, and OAuth sign-in
- How do I install auth?
- Start the local Postgres database in a container: docker-compose -f docker-compose-dev.yml up postgres Build the auth binary: make build Run the auth binary: ./auth
- Where can I get auth?
- The source code and installation instructions are on GitHub: https://github.com/supabase/auth
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source authentication and authorization infrastructure built on OIDC and OAuth 2.1, with multi-tenancy, enterprise SSO and RBAC for SaaS and AI apps.
A framework-agnostic authentication and authorization framework for TypeScript, with a plugin system for features like 2FA and multi-tenancy.
A Python library that adds user registration, login, password reset and email verification to FastAPI applications.
Official Python monorepo of client libraries for Supabase, covering Postgres queries, auth, storage, realtime and edge functions.
A Java authentication and authorization framework covering login, permissions, SSO, OAuth2, JWT and API signing for Spring and other web stacks.