GoTrue is a JWT-based API for managing user registration and authentication in applications.
The tool solves the problem of handling user signup, login, and token management by providing a self-contained authentication service built on OAuth2 and JWT standards. It accepts configuration through environment variables or a .env file, with required settings for database connection, JWT signing secrets, and site URL. The service listens on a configurable port and stores user data in a MySQL database, requiring manual migration execution before first use.
GoTrue suits teams building Jamstack projects or APIs that need to offload authentication logic to a dedicated microservice rather than implementing it directly in their application. It works well for projects requiring custom user data storage and JWT-based token issuance. The tool is particularly useful when you want to run authentication as a separate, independently scalable service. It supports disabling signups to restrict user creation to invitation-only flows, rate limiting on token endpoints, and request ID inheritance for tracing purposes. For migration scenarios, it offers a user export feature protected by a configurable secret.
The project maintains active development with regular commits addressing bug fixes and feature improvements. The codebase shows consistent attention to production concerns including configurable logging levels, optional distributed tracing integration with Datadog, and support for multi-instance deployments with operator token verification. The tool demonstrates maturity in its handling of database migrations, flexible configuration management, and security-focused features like JWT audience grouping and admin role support.