Authentication and Authorization Go Libraries Ranking
Libraries for implementing authentication and authorization.
40 repositories, updated daily.
- Authorization library that supports access control models like ACL, RBAC, and ABAC.
- A full featured implementation of JSON Web Tokens (JWT). This library supports the parsing and verification as well as the generation and signing of JWTs.
- A Zanzibar-inspired database that enables fine-grained authorization.
- provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
- Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support.
- Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by [CNCF](https://www.cncf.io/).
- Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure it, and start building your app without having to build an authentication system each time.
- Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies.
- chainable handlers for login with OAuth1 and OAuth2 authentication providers.
- JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam.
zitadel/oidc
- Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation.
- provides a lightweight role-based access control (RBAC) implementation in Golang.
o1egl/paseto
- Golang implementation of Platform-Agnostic Security Tokens (PASETO).
- Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token, and Certificate based authentication.
- Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
- Simple, flexible, secure, and idiomatic web session management with pluggable backends.
- This is quick session for net/http in GoLang. This package is perhaps the best implementation of the session mechanism, or at least it tries to become one.
- JWT middleware for Golang http servers with many configuration options.
- An open-source authentication and authorization server supporting OAuth2 and OpenID Connect.
- Simple, yet effective HTTP session management and identification package.
icza/session
- Go session management for web servers (including support for Google App Engine - GAE).
- Dead simple, highly performant, highly customizable sessions service for go http servers.
- Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
- Developer-first Identity and Access Management system with a simple UI.
- Utilities for GitHub authentication: generate and use GitHub application and installation tokens.
- JWT authentication package providing access tokens and refresh tokens with fingerprinting, Redis storage, and automatic refresh capabilities.
- Library for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt.