All Projects → shaj13 → Go Guardian

shaj13 / Go Guardian

Licence: mit
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication.

Programming Languages

31211 projects - #10 most used programming language
3204 projects

Projects that are alternatives of or similar to Go Guardian

The Single Sign-On Multi-Factor portal for web apps
Stars: ✭ 11,094 (+5338.24%)
Mutual labels:  ldap, authentication, 2fa, totp
Enhanced fork of FreeOTP-Android providing a feature-rich 2FA authenticator
Stars: ✭ 223 (+9.31%)
Mutual labels:  2fa, totp, authenticator, hotp
📱 Two-Factor Authentication (2FA) client for Android + Wear OS
Stars: ✭ 155 (-24.02%)
Mutual labels:  2fa, totp, authenticator, hotp
multiOTP open source strong two factor authentication PHP library, OATH certified, with TOTP, HOTP, Mobile-OTP, YubiKey, SMS, QRcode provisioning, etc.
Stars: ✭ 173 (-15.2%)
Mutual labels:  ldap, authentication, totp, hotp
A free, secure and open source app for Android to manage your 2-step verification tokens.
Stars: ✭ 2,692 (+1219.61%)
Mutual labels:  2fa, totp, authenticator, hotp
One Time Password (HOTP/TOTP) library for Node.js, Deno and browsers.
Stars: ✭ 135 (-33.82%)
Mutual labels:  auth, totp, authenticator, hotp
Minimal TOTP generator in 20 lines of Python
Stars: ✭ 678 (+232.35%)
Mutual labels:  2fa, totp, hotp
🔑 One Time Password (OTP) / 2FA for Node.js and Browser - Supports HOTP, TOTP and Google Authenticator
Stars: ✭ 916 (+349.02%)
Mutual labels:  2fa, authenticator, hotp
Python Bna
Python implementation of the mobile Blizzard Authenticator (TOTP)
Stars: ✭ 165 (-19.12%)
Mutual labels:  2fa, totp, authenticator
A Sponge minecraft server plugin for second factor authentication
Stars: ✭ 73 (-64.22%)
Mutual labels:  authentication, auth, 2fa
Java Otp
A one-time password (HOTP/TOTP) library for Java
Stars: ✭ 265 (+29.9%)
Mutual labels:  2fa, totp, hotp
external OpenID Connect Login to IdentityServer4 with AAD
Stars: ✭ 63 (-69.12%)
Mutual labels:  2fa, totp, authenticator
LibreAuth is a collection of tools for user authentication.
Stars: ✭ 201 (-1.47%)
Mutual labels:  authentication, totp, hotp
Two Factor Bundle
[OUTDATED] Two-factor authentication for Symfony applications 🔐 (bunde version ≤ 4). Please use version 5 from
Stars: ✭ 388 (+90.2%)
Mutual labels:  authentication, 2fa, totp
Single Sign On server, OAuth2, Openid Connect, multiple factor authentication with, HOTP/TOTP, FIDO2, TLS Certificates, etc. extensible via plugins
Stars: ✭ 292 (+43.14%)
Mutual labels:  ldap, totp, hotp
A Swift library for generating One Time Passwords (OTP)
Stars: ✭ 119 (-41.67%)
Mutual labels:  2fa, totp, hotp
A TouchID-aware 2-factor authenticator for macOS
Stars: ✭ 105 (-48.53%)
Mutual labels:  2fa, totp, authenticator
One Time
One Time Password (TOTP and HOTP) library for Clojure. TOTP/HOTP is widely used for Two Factor / Multi Factor Authentication.
Stars: ✭ 129 (-36.76%)
Mutual labels:  2fa, totp, hotp
LDAP Authenticator for Apache Cassandra
Stars: ✭ 20 (-90.2%)
Mutual labels:  ldap, auth, authenticator
Python One-Time Password Library
Stars: ✭ 1,930 (+846.08%)
Mutual labels:  totp, hotp, 2fa

GoDoc Go Report Card Coverage Status CircleCI

❗️ Cache package has been moved to libcache repository


Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication.


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.


Using go-guardian is easy. First, use go get to install the latest version of the library.

go get

Next, include go-guardian in your application:

import ""

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


JWT 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.


Examples are available on GoDoc or Examples Folder.


API docs are available on GoDoc.


  1. Fork it
  2. Download your fork to your PC (git clone && cd go-guardian)
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Make changes and add them (git add .)
  5. Commit your changes (git commit -m 'Add some feature')
  6. Push to the branch (git push origin my-new-feature)
  7. Create new pull request


Go-Guardian is released under the MIT license. See LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].