go-guardian alternatives and similar packages
Based on the "Authentication and OAuth" category.
Alternatively, view go-guardian alternatives based on common mentions on social networks and blogs.
-
keto
Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models. -
paseto
Platform-Agnostic Security Tokens implementation in GO (Golang) -
branca
:key: Secure alternative to JWT. Authenticated Encrypted API Tokens for Go. -
securecookie
Fast, secure and efficient secure cookie encoder/decoder -
otpgo
Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go. -
go-email-normalizer
Golang library for providing a canonical representation of email address. -
sessiongate-go
A driver for the SessionGate Redis module - easy session management using the Go language. -
signedvalue
Compatibility layer for tornado's signed values (and secure cookies consequently) -
gosession
This is quick session for net/http in GoLang. This package is perhaps the best implementation of the session mechanism, at least it tries to become one.
Build time-series-based applications quickly and at scale.
Do you think we are missing an alternative of go-guardian or a related project?
README
:exclamation: Cache package has been moved to libcache repository |
---|
Go-Guardian
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication.
Overview
Go-Guardian sole purpose is to authenticate requests, which it does through an extensible set of authentication methods known as strategies.
Go-Guardian does not mount routes or assume any particular database schema, which maximizes flexibility and allows decisions to be made by the developer.
The API is simple: you provide go-guardian a request to authenticate, and go-guardian invoke strategies to authenticate end-user request.
Strategies provide callbacks for controlling what occurs when authentication should
succeeds or fails.
Installing
Using go-guardian is easy. First, use go get to install the latest version of the library.
go get github.com/shaj13/go-guardian/v2
Next, include go-guardian in your application:
import "github.com/shaj13/go-guardian/v2"
Why Go-Guardian?
When building a modern application, you don't want to implement authentication module from scratch; you want to focus on building awesome software. go-guardian is here to help with that.
Here are a few bullet point reasons you might like to try it out:
- provides simple, clean, and idiomatic API.
- provides top trends and traditional authentication methods.
- provides two-factor authentication and one-time password as defined in RFC-4226 and RFC-6238
- provides a mechanism to customize strategies, even enables writing a custom strategy
Strategies
JWT, Opaque, and oauth2 packages provide early access to advanced or experimental functionality to get community feedback. Their APIs and functionality may be subject to breaking changes in future releases.
- JWT
- Opaque(server-side consistent tokens)
- Oauth2-JWT
- Oauth2-Introspection
- Oauth2-OpenID-userinfo
- OpenID-IDToken
- kubernetes (Token Review)
- 2FA
- Certificate-Based
- Bearer-Token
- Static-Token
- LDAP
- Basic
- Digest
- Union
Examples
Examples are available on GoDoc or [Examples Folder](./_examples).
Documentation
API docs are available on GoDoc.
Contributing
- Fork it
- Download your fork to your PC (
git clone https://github.com/your_username/go-guardian && cd go-guardian
) - Create your feature branch (
git checkout -b my-new-feature
) - Make changes and add them (
git add .
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new pull request
License
Go-Guardian is released under the MIT license. See LICENSE
*Note that all licence references and agreements mentioned in the go-guardian README section above
are relevant to that project's source code only.