A Go library providing simple, clean, and idiomatic authentication for modern APIs and web applications.
Go-Guardian is a Go library that provides a simple, clean, and idiomatic way to implement authentication for modern APIs and web applications. It solves the problem of building authentication from scratch by offering an extensible set of strategies, allowing developers to focus on their core software instead of security boilerplate.
Go developers building web services, APIs, or applications that require robust, flexible authentication mechanisms without being locked into specific frameworks or databases.
Developers choose Go-Guardian for its idiomatic Go API, extensive strategy support (including JWT, OAuth2, and 2FA), and flexibility—it doesn't impose routing or schema decisions, making it adaptable to diverse project architectures.
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes JWT, OAuth2, LDAP, and 2FA out of the box, as listed in the Strategies section, covering both modern and traditional authentication methods.
Offers a simple, idiomatic API that integrates seamlessly into Go applications, emphasizing developer flexibility without imposing routing or schemas.
Implements two-factor authentication and one-time passwords following RFC 4226 and 6238, providing robust security for sensitive applications.
Does not assume specific routes or database schemas, allowing teams to customize authentication to fit their project's architecture, as stated in the philosophy.
JWT, Opaque, and OAuth2 packages are marked as early access with potential breaking changes, as noted in the README, which can lead to instability in production.
Cache functionality is separated into the libcache repository, requiring additional integration and learning for caching scenarios, adding complexity.
Documentation is primarily API references on GoDoc, with examples in a folder, but lacks comprehensive tutorials for common use cases, making onboarding harder.