App Logo

Welcome to GoBetterAuth

Intro to GoBetterAuth

GoBetterAuth is A comprehensive, framework-agnostic authentication and authorization library for Go, inspired by Better Auth.

Note: This project is still a work in progress. Contributions are most welcome!

โœจ Features

  • ๐Ÿ”‘ Email & Password Authentication โ€“ Secure, production-ready authentication with argon2 password hashing
  • ๐ŸŒ Social OAuth Providers โ€“ Google, GitHub, Discord, and extensible generic OAuth2 support
  • ๐Ÿ” Session Management โ€“ Secure, customizable session handling with refresh and expiration controls
  • โœ‰๏ธ Email Verification โ€“ Optional, configurable email verification workflow
  • ๐Ÿ”„ Password Reset โ€“ Secure password reset with customizable email callbacks
  • ๐Ÿ—๏ธ Clean Architecture โ€“ Go Clean Architecture: domain, usecase, repository, handler, and infrastructure layers
  • ๐Ÿ”Œ Plugin System โ€“ Extensible plugin architecture for custom business logic and routes
  • ๐Ÿ’พ Multiple Database Support โ€“ SQLite and PostgreSQL adapters, with migration scripts included
  • ๐Ÿ›ก๏ธ Security First โ€“ CSRF protection, secure cookies, rate limiting, and input validation
  • โšก Rate Limiting โ€“ Configurable, per-endpoint rate limiting with memory or database storage
  • ๐Ÿ” Token Refresh Flow โ€“ Automatic token refresh and session extension
  • ๐Ÿ“ฆ Minimal Dependencies โ€“ Standard library first, production-ready, and framework-agnostic
  • ๐Ÿงฉ Comprehensive Configuration โ€“ Flexible, type-safe config with sensible defaults and environment variable support
  • ๐Ÿงช Test Coverage โ€“ Unit, integration, and E2E tests reflecting production scenarios

What is Next?