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

Overview

GoDoc Go Report Card Coverage Status CircleCI

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

Examples

Examples are available on GoDoc or Examples Folder.

Documentation

API docs are available on GoDoc.

Contributing

  1. Fork it
  2. Download your fork to your PC (git clone https://github.com/your_username/go-guardian && 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

License

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

Comments
  • Feature: Access token, Refresh token, OAuth2

    Feature: Access token, Refresh token, OAuth2

    Hi,

    I am currently using the jwt strategy for development process. This works good so far, however, I can see there is some caveats:

    • lifespan must be huge or user experience will be bad (have to relog each x minutes)
    • jwt could be intercepted by a malicious third party and this jwt will be usage for probably a long time (lifespan config value)

    I think creating a new strategy like refreshTokenStrategy will resolve these issues.

    There is a full specification of the OAuth2 here: https://datatracker.ietf.org/doc/html/rfc6749

    Protocol Flow: https://datatracker.ietf.org/doc/html/rfc6749#section-1.2

    What is a refresh token: https://datatracker.ietf.org/doc/html/rfc6749#section-1.5 What is an access token: https://datatracker.ietf.org/doc/html/rfc6749#section-1.4

    Authorization code grant: https://datatracker.ietf.org/doc/html/rfc6749#section-4.1 Resource owner Password credentials grant: https://datatracker.ietf.org/doc/html/rfc6749#section-4.3 (case we want to auth a microservice for example)

    I could keep linking all the docs, but I think this isn't necessary as someone made a great OAuth server implementation here: https://github.com/go-oauth2/oauth2

    My point is: could we create an oauth strategy based on the OAuth server implementation that go-oauth2 made?

    opened by IzioDev 9
  • LDAPS Schema does not work with 389 + Start TLS Server

    LDAPS Schema does not work with 389 + Start TLS Server

    What version of Go are you using (go version)?

    $ go version 1.17
    
    

    Does this issue reproduce with the latest release?

    yes

    What version of Go-Guardian are you using ?

    Go-Guardian Version: 2.11.4
    

    What did you do?

    I configured ldap against a server that has port 636 "ldaps" disabled, and only uses StartTLS on port 389.

    What did you expect to see?

    I expected to connect and authenticate with ldap credentials

    What did you see instead?

    "Network Error": read tcp x.x.x.x:60677->x.x.x.x:389: read: connection reset by peer

    I believe this should still be scheme ldap, and ldaps should be used against an LDAP server with SSL enabled on port 636.

    This would remediate the issue:

    diff --git a/auth/strategies/ldap/ldap.go b/auth/strategies/ldap/ldap.go
    index ec9b920..cc00906 100644
    --- a/auth/strategies/ldap/ldap.go
    +++ b/auth/strategies/ldap/ldap.go
    @@ -56,10 +56,13 @@ func dial(cfg *Config) (conn, error) {
     	opts := []ldap.DialOpt{}
     
     	if cfg.TLS != nil {
    -		scheme = "ldaps"
     		opts = append(opts, ldap.DialWithTLSConfig(cfg.TLS))
     	}
     
    +  if cfg.Port == "636" {
    +    scheme = "ldaps"
    +  }
    +
     	addr := fmt.Sprintf("%s://%s:%s", scheme, cfg.Host, cfg.Port)
     	return ldap.DialURL(addr, opts...)
     }
    
    
    bug good first issue 
    opened by m87carlson 8
  • starttls on 389 requires ldap scheme

    starttls on 389 requires ldap scheme

    Hello!

    Using the ldaps scheme against an LDAP server running on port 389, with StartTLS, will result is a "Network Error": read tcp x.x.x.x:60677->x.x.x.x:389: read: connection reset by peer error

    I believe this should still be scheme ldap, and ldaps should be used against an LDAP server with SSL enabled on port 636.

    opened by m87carlson 3
  • Rotated secrets always triggers a new secret to be generated

    Rotated secrets always triggers a new secret to be generated

    What version of Go are you using (go version)?

    $ go version
    1.16
    

    Does this issue reproduce with the latest release?

    Yes

    What version of Go-Guardian are you using ?

    Go-Guardian Version: 
    v2.11.3
    

    What did you do?

    Trying to get rotated secrets working and have been looking at https://play.golang.org/p/5N-5fWa0mfN (posted by @shaj13) for some help. This is also found somewhere in the examples but can't find it right now.

    The issue is that jwt.SecretsKeeper's methods Get and KID doesn't use pointers in it's signature definitions so changes to r.LastRotation in KID is not saved to the keeper struct.

    For example this func (r RotatedSecrets) KID() string should be this func (r *RotatedSecrets) KID() string?

    What did you expect to see?

    That time.Now().After(r.LastRotation) would be false if within specified rotation duration.

    What did you see instead?

    That time.Now().After(r.LastRotation) is always true as r.LastRotation is always 0.

    bug help wanted good first issue 
    opened by ChoffaH 3
  • organize basic and token examples

    organize basic and token examples

    What did you expect to see?

    token and basic example

    What did you see instead?

    https://github.com/shaj13/go-guardian/tree/master/_examples/basic_bearer

    TODO

    split the basic_bearer to basic and token. the token example can use the basic similar to jwt example

    opened by shaj13 3
  • Password included in token from jwt strategy example

    Password included in token from jwt strategy example

    What version of Go are you using (go version)?

    $ go version
    1.16
    

    Does this issue reproduce with the latest release?

    Yes

    What version of Go-Guardian are you using ?

    Go-Guardian Version: 
    v2.11.2
    

    What did you do?

    Run the jwt token example in the repo with basic login.

    What did you expect to see?

    A token without password.

    What did you see instead?

    The password included in plain text in the payload of the token:

    {
      "Extensions": {
        "x-go-guardian-basic-password": [
          "admin"
        ]
      },
      "Groups": null,
      "ID": "1",
      "Name": "admin",
      "aud": [
        ""
      ],
      "exp": 1615318474,
      "iat": 1615318174,
      "nbf": 1615318174,
      "sub": "1"
    }
    
    opened by ChoffaH 3
  • jwt Example doens't return a token

    jwt Example doens't return a token

    What version of Go are you using (go version)?

    1.13

    Does this issue reproduce with the latest release?

    yes

    What version of Go-Guardian are you using?

    latest

    What did you do?

    https://play.golang.org/p/NlbR34g1GRM I just ran the jwt example

    What did you expect to see?

    I expect to get a token in the response

    What did you see instead?

    token:  
    ➜  ~ curl  -k http://127.0.0.1:8080/v1/book/1449311601 -u admin:admin
    Author: Ryan Boyd 
    ➜  ~ curl  -k http://127.0.0.1:8080/v1/auth/token -u admin:admin
    token:  
    ➜  ~ 
    

    Token is empty

    bug help wanted good first issue 
    opened by shachardevops 3
  • Question: How to achieve digest auth that survives after service restarts.

    Question: How to achieve digest auth that survives after service restarts.

    I'm using Digest strategy and works fine until I restart my service. Chrome re-challenges user to give creds again. Strategy returns: userInfo = nil, err = Invalid Response to all web requests. I'm using FIFO lib cache FWIW.

    Do I need to implement my own cache implementation that stores values on disk to survive restarts?

    I'm trying to replace nginx reverse proxy and this doesn't happen w/nginx so this is a loss in functionality as well and user issue.

    opened by dhubler 3
  • Congratulations and question

    Congratulations and question

    If someone asks you how this project differs from https://github.com/volatiletech/authboss, what would you answer?

    Thanks for your amazing commitment! ❤️

    opened by frederikhors 3
  • Consider changing ID() method in auth.Info interface to UserID()?

    Consider changing ID() method in auth.Info interface to UserID()?

    I was trying to use this library in my project and ran into a naming collision of sorts. I have a few GORM models including a base Model and a User model. Model includes a few fields that get used in all of my other models, such as ID, created at, updated at, etc. My other models then have something like this.

    type User struct {
        Model
    
        Email string
        HashedPassword []byte
    }
    

    What seemed appropriate to do at the time was add the functions from your auth.Info interface to my User model so that I could just pass my User into functions like Append, for example, or return my User model instead of a DefaultUser instance from my validateLogin function. That part works perfectly, but it came with other compromises.

    One of the functions in the auth.Info interface is ID(). One of my fields in my base Model (and by extension my User model and indeed all my models) is also ID. Obviously I can change the name of the field, and that's what I've done for now, but I either name it Id which works but causes go-lint to yell at me, or name it something like ModelID which just feels... weird. I could also not use the base Model in my User model and manually add the necessary fields from the base Model, naming the id field UserID in the process, but that creates code duplication and means if I have to add to or edit the base Model I also most likely have to edit the User model. Not too big of a deal but a bit of a code smell.

    What I would like to propose is renaming the ID() method on the auth.Info interface to UserID(), as it not only avoids this issue but also makes it match better with the UserName() method. Of course if you're privy to information that I'm not on why that wouldn't work I absolutely understand, and I can work around the issue with either one of the methods I described above or writing some functions to convert my User models to DefaultUser instances, but I figured it was worth having the discussion.

    opened by leggettc18 3
  • Is cache implementation thread-safe?

    Is cache implementation thread-safe?

    I noticed that shaj13/libcache's documentation says that lru.New() initializes a non-thread safe cache (https://github.com/shaj13/libcache/blob/master/lru/lru.go#L15) and I couldn't find any code to handle thread safety in go-guardian so I'm wondering, is go-guardian thread-safe? Can it be used in the request path of a go web server safely?

    opened by amorey 2
  • Feature: implement opaque token revocation

    Feature: implement opaque token revocation

    What version of Go are you using (go version)?

    $ go version
    
    

    Does this issue reproduce with the latest release?

    What version of Go-Guardian are you using ?

    Go-Guardian Version: 
    

    What did you do?

    What did you expect to see?

    What did you see instead?

    opened by shaj13 0
  • Issue with example directory

    Issue with example directory

    What version of Go are you using (go version)?

    $ go version
    go version go1.18.3 linux/amd64
    

    Does this issue reproduce with the latest release?

    Yes

    What version of Go-Guardian are you using ?

    Go-Guardian Version:  v2.11.5
    Libcache Version: v1.0.5
    

    What did you do?

    Hello, I just want to follow the jwt example https://github.com/shaj13/go-guardian/blob/master/_examples/jwt/main.go But the function RegisterOnExpired was deprecated and no-longer works. Can you update the example directory on this repo.

    What did you expect to see?

    The program init and run

    What did you see instead?

    $> go run ./...
    panic: RegisterOnExpired no longer available
    
    goroutine 1 [running]:
    github.com/shaj13/libcache/internal.(*Cache).RegisterOnExpired(0x18?, 0x7c80a0?)
    	/home/xxx/go/pkg/mod/github.com/shaj13/[email protected]/internal/cache.go:379 +0x27
    github.com/shaj13/libcache.(*cache).RegisterOnExpired(0xc00009e120, 0x6?)
    	/home/xxx/go/pkg/mod/github.com/shaj13/[email protected]/cache.go:245 +0x56
    main.setupGoGuardianJWT()
    	/home/xxx/go/src/gitlab.com/xxx/my-project/cmd/go-guardian-jwt.go:33 +0x17d
    main.main()
    	/home/xxx/go/src/gitlab.com/xxx/my-project/cmd/main.go:20 +0x1d
    exit status 2
    
    
    opened by quentinalbertone 5
  • Authenticate username, password passed from frontend

    Authenticate username, password passed from frontend

    Hi, I would like to ask how to use authenticator to verify username/pass instead of request

    Here is the authenticator from the go guardian package

           return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    	log.Println("Executing Auth Middleware")
    	for k, v := range r.URL.Query() {
    		log.Printf("%s: %s\n", k, v)
    	}
    	user, err := authenticator.Authenticate(r)
    

    What I want to do is to check the user by cheking the username/password passed from frontend form Like

             func SetupGoGuardian(u, p string) (*authentication.User, error) {
                       // u here is username from form
                       // p here is password from form
                   log.Printf("User username %s", u)
                   cfg := &ldap.Config{
    	            Port:         "389",
    	            Host:         "ldapadmin.test",
    	            BindDN:       "cn=admin,dc=ldapadmin,dc=test",
    	            BindPassword: "root",
    	            BaseDN:       "dc=ldapadmin, dc=test",
    	            Filter:       "(uid=%s)",
                   }
                  authenticator = auth.New()
                  cache = store.NewFIFO(context.Background(), time.Minute*10)
                  strategy := ldap.NewCached(cfg, cache)
                  authenticator.EnableStrategy(ldap.StrategyKey, strategy)
                      user, err := authenticator.Authenticate(u, p) // this what I want to check my username password,
    	      if err != nil {
                          return &authentication.User{}, nil
                      }
                       return (///////////////////you are now allowed)
    

    Any ideas ?

    opened by ianrussel 1
  • Feature: ldap strategy collect user group

    Feature: ldap strategy collect user group

    Context: LDAP strategy does not fetch user groups and only fill the user info and the rest of the data mapped to extensions.

    Tasks:

    • update LDAP strategy to fetch user groups
    • Test changes
    enhancement good first issue 
    opened by shaj13 0
Releases(v2.11.5)
  • v2.11.5(Mar 7, 2022)

  • v2.11.4(Feb 28, 2022)

    2.11.4 (2022-02-28)

    Chores

    • issue 107, fix secretskeeper example to store changes (da9b88a3)
    • issue 104 to split basic_bearer example into basic and token (5cfc50e4)

    Bug Fixes

    • re-generate x509 test certs [issue 115] (9d1ed1c8)
    Source code(tar.gz)
    Source code(zip)
  • v2.11.3(Mar 12, 2021)

    2.11.3 (2021-03-12)

    Chores

    • creating a new StaticSecret in jwt example expects an Algorithm instead of a Method (b4ee370c)

    Bug Fixes

    • issue 102 and prevent store user pass in ext (57ca76aa)
    Source code(tar.gz)
    Source code(zip)
  • v2.11.2(Feb 28, 2021)

  • v2.11.1(Feb 27, 2021)

    2.11.1 (2021-02-27)

    Chores

    • fix issue 84 and use EqualFold (c9e7002f)
    • update circleci configuration (b4513b38)

    Bug Fixes

    • error ldap already encrypted when tls enabled (d5663481)
    Source code(tar.gz)
    Source code(zip)
  • v2.11.0(Feb 26, 2021)

    2.11.0 (2021-02-26)

    Chores

    • remove x file (86425577)
    • refactor token startegy and consolidate static and cache logic overlaps under single core (1f532409)
    • abstract requester marshal unmarshal (3a83a996)
    • abstract requester marshal unmarshal (e384b545)
    • add internal Requester (#79) (70a0c810)
    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)

    Feature

    • support oauth2 strategies (a597d9d8)
    • support jwt (2d97a182)
    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)

    Bug Fixes

    • migrate to a different jwt library (e678879d)
    • basic bug does not cache info by user name hash (cba155f4)
    • add x (e733a3dd)
    • bug extensions clone return same instance (d7c27c04)
    • add username hashing (ff9dbb71)
    • add hash option to token strategy (61e7326d)
    • expose extensions clone method (5529aa7a)
    • improve x509 package and add more options (#78) (4921d95d)
    • improve jwt errors and validation (086565e1)
    • claims use jwt.StandardClaims (175ea3f4)
    • jwt kid type assertion bug (14d01643)
    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.10.0(Feb 26, 2021)

  • v2.9.0(Feb 14, 2021)

    2.9.0 (2021-02-14)

    Chores

    • remove x file (86425577)
    • refactor token startegy and consolidate static and cache logic overlaps under single core (1f532409)
    • abstract requester marshal unmarshal (3a83a996)
    • abstract requester marshal unmarshal (e384b545)
    • add internal Requester (#79) (70a0c810)
    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)

    Feature

    • support jwt (2d97a182)
    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)

    Bug Fixes

    • migrate to a different jwt library (e678879d)
    • basic bug does not cache info by user name hash (cba155f4)
    • add x (e733a3dd)
    • bug extensions clone return same instance (d7c27c04)
    • add username hashing (ff9dbb71)
    • add hash option to token strategy (61e7326d)
    • expose extensions clone method (5529aa7a)
    • improve x509 package and add more options (#78) (4921d95d)
    • improve jwt errors and validation (086565e1)
    • claims use jwt.StandardClaims (175ea3f4)
    • jwt kid type assertion bug (14d01643)
    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)
    • rename NewCachedToken to New (a69cb5e8)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.8.3(Feb 14, 2021)

  • v2.8.2(Feb 6, 2021)

  • v2.8.1(Feb 4, 2021)

  • v2.8.0(Feb 4, 2021)

    2.8.0 (2021-02-04)

    Chores

    • refactor token startegy and consolidate static and cache logic overlaps under single core (1f532409)
    • abstract requester marshal unmarshal (3a83a996)
    • abstract requester marshal unmarshal (e384b545)
    • add internal Requester (#79) (70a0c810)
    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)
    • mention store and delete must be followed with set cookie (f9b557da)

    Feature

    • support jwt (2d97a182)
    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)
    • add session adapter to mount gorilla store (a8cf601e)
    • add session adapter to mount gorilla store (76ff76df)

    Bug Fixes

    • add username hashing (ff9dbb71)
    • add hash option to token strategy (61e7326d)
    • expose extensions clone method (5529aa7a)
    • improve x509 package and add more options (#78) (4921d95d)
    • improve jwt errors and validation (086565e1)
    • claims use jwt.StandardClaims (175ea3f4)
    • jwt kid type assertion bug (14d01643)
    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)
    • rename NewCachedToken to New (a69cb5e8)
    • replace sync.Map to builtin wit mutex (6b0fcbb5)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.7.1(Feb 4, 2021)

    2.7.1 (2021-02-04)

    Chores

    • refactor token startegy and consolidate static and cache logic overlaps under single core (1f532409)

    Bug Fixes

    • add username hashing (324c111f)
    Source code(tar.gz)
    Source code(zip)
  • v2.7.0(Feb 3, 2021)

    2.7.0 (2021-02-03)

    Chores

    • abstract requester marshal unmarshal (3a83a996)
    • abstract requester marshal unmarshal (e384b545)
    • add internal Requester (#79) (70a0c810)
    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)
    • mention store and delete must be followed with set cookie (f9b557da)
    • update readme (0549dc92)

    Feature

    • support jwt (2d97a182)
    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)
    • add session adapter to mount gorilla store (a8cf601e)
    • add session adapter to mount gorilla store (76ff76df)

    Bug Fixes

    • add hash option to token strategy (61e7326d)
    • expose extensions clone method (5529aa7a)
    • improve x509 package and add more options (#78) (4921d95d)
    • improve jwt errors and validation (086565e1)
    • claims use jwt.StandardClaims (175ea3f4)
    • jwt kid type assertion bug (14d01643)
    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)
    • rename NewCachedToken to New (a69cb5e8)
    • replace sync.Map to builtin wit mutex (6b0fcbb5)
    • rename storage to store (ada6dbe3)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.6.2(Feb 3, 2021)

    2.6.2 (2021-02-03)

    Chores

    • abstract requester marshal unmarshal (3a83a996)
    • abstract requester marshal unmarshal (e384b545)

    Bug Fixes

    • add hash option to token strategy (f7380178)
    Source code(tar.gz)
    Source code(zip)
  • v2.6.1(Feb 3, 2021)

  • v2.6.0(Jan 31, 2021)

    2.6.0 (2021-01-31)

    Chores

    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)
    • fix lint issues iteration #1 (3bbb61c5)
    • setup linter (3254f042)
    • setup linter (5f49aeae)
    • add godoc badge (aca78525)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)
    • mention store and delete must be followed with set cookie (f9b557da)
    • update readme (0549dc92)

    Feature

    • support jwt (2d97a182)
    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)
    • add session adapter to mount gorilla store (a8cf601e)
    • add session adapter to mount gorilla store (76ff76df)

    Bug Fixes

    • improve x509 package and add more options (#78) (4921d95d)
    • improve jwt errors and validation (086565e1)
    • claims use jwt.StandardClaims (175ea3f4)
    • jwt kid type assertion bug (14d01643)
    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)
    • rename NewCachedToken to New (a69cb5e8)
    • replace sync.Map to builtin wit mutex (6b0fcbb5)
    • rename storage to store (ada6dbe3)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.5.2(Jan 31, 2021)

  • v2.5.1(Jan 19, 2021)

  • v2.5.0(Jan 17, 2021)

    2.5.0 (2021-01-17)

    Chores

    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)
    • fix lint issues iteration #1 (3bbb61c5)
    • setup linter (3254f042)
    • setup linter (5f49aeae)
    • add godoc badge (aca78525)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)
    • mention store and delete must be followed with set cookie (f9b557da)
    • update readme (0549dc92)

    Feature

    • support jwt (2d97a182)
    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)
    • add session adapter to mount gorilla store (a8cf601e)
    • add session adapter to mount gorilla store (76ff76df)

    Bug Fixes

    • claims use jwt.StandardClaims (175ea3f4)
    • jwt kid type assertion bug (14d01643)
    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)
    • rename NewCachedToken to New (a69cb5e8)
    • replace sync.Map to builtin wit mutex (6b0fcbb5)
    • rename storage to store (ada6dbe3)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.4.3(Jan 17, 2021)

  • v2.4.2(Jan 13, 2021)

  • v2.4.1(Jan 12, 2021)

  • v2.4.0(Jan 12, 2021)

    2.4.0 (2021-01-12)

    Chores

    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)
    • fix lint issues iteration #1 (3bbb61c5)
    • setup linter (3254f042)
    • setup linter (5f49aeae)
    • add godoc badge (aca78525)
    • add make file and update ci (87515f23)
    • add make file and update ci (075bd897)
    • fix of using unnecessary pkg (9c6cd9fa)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)
    • mention store and delete must be followed with set cookie (f9b557da)
    • update readme (0549dc92)

    Feature

    • support jwt (2d97a182)
    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)
    • add session adapter to mount gorilla store (a8cf601e)
    • add session adapter to mount gorilla store (76ff76df)

    Bug Fixes

    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)
    • rename NewCachedToken to New (a69cb5e8)
    • replace sync.Map to builtin wit mutex (6b0fcbb5)
    • rename storage to store (ada6dbe3)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.3.0(Jan 12, 2021)

    2.3.0 (2021-01-12)

    Chores

    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)
    • fix lint issues iteration #1 (3bbb61c5)
    • setup linter (3254f042)
    • setup linter (5f49aeae)
    • add godoc badge (aca78525)
    • add make file and update ci (87515f23)
    • add make file and update ci (075bd897)
    • fix of using unnecessary pkg (9c6cd9fa)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)
    • mention store and delete must be followed with set cookie (f9b557da)
    • update readme (0549dc92)

    Feature

    • support jwt (1a6b4515)
    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)
    • add session adapter to mount gorilla store (a8cf601e)
    • add session adapter to mount gorilla store (76ff76df)

    Bug Fixes

    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)
    • rename NewCachedToken to New (a69cb5e8)
    • replace sync.Map to builtin wit mutex (6b0fcbb5)
    • rename storage to store (ada6dbe3)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.2.0(Jan 12, 2021)

  • v2.1.0(Oct 17, 2020)

    2.1.0 (2020-10-17)

    Chores

    • remove cache package (3a9dc085)
    • update readme (716d43f8)
    • add /v2 to module (2a7bb72d)
    • try to fix release slug (8e3ddb39)
    • try to fix release slug (09692f70)
    • replace goreleaser with go-semantic (54fce012)
    • move all parsing logic to internal (ece72c38)
    • add kubernetes example (c162da0f)
    • remove skip publish (7cf9d7ae)
    • fix lint issues iteration #1 (3bbb61c5)
    • setup linter (3254f042)
    • setup linter (5f49aeae)
    • add godoc badge (aca78525)
    • add make file and update ci (87515f23)
    • add make file and update ci (075bd897)
    • fix of using unnecessary pkg (9c6cd9fa)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)
    • mention store and delete must be followed with set cookie (f9b557da)
    • update readme (0549dc92)

    Feature

    • add 2fa OTP Strategy (339f3cb3)
    • support kubernetes token review (b4f3bb00)
    • add token pkg and support apikey, x header (4a114dbc)
    • replicator cache (29d6874c)
    • filesystem cache (611491e7)
    • cache result of basic (d4e6508b)
    • add LRU cache (9191354d)
    • add session adapter to mount gorilla store (a8cf601e)
    • add session adapter to mount gorilla store (76ff76df)

    Bug Fixes

    • add expiry date/time to token strategy (f509a3b9)
    • add lru peek and update (710ff6ee)
    • add lru update func (b69c1abd)
    • remove .goreleaser.yml (85195440)
    • refactor fifo tests and add update func (b86e6ae0)
    • expose otp errors (5661952e)
    • add Verify skew (a8da7081)
    • remove tfa package (72594cfe)
    • add no cache struct (5b73a2a9)
    • type in twofactor (1447e29d)
    • option interface honor interface{} instead of startegy for more flexibility (091444ed)
    • expose helper func to store/get user info in/from ctx (c31102b3)
    • cached basic strategy store pass as plain text unless user provide hashing algo (b0bb6af8)
    • support sem versioning and auto release (14a790e5)
    • deprecate bearer strategy (ffa0a716)
    • add set WWW-Authenticate header (3f670b14)
    • support gob/json Marshaling/Unmarshaling (9ec8cf39)
    • expose cache keys (445b5fda)
    • add fifo tests (1fd92289)
    • remove sync.Map from authenticator and make it not safe for concurrent ac (512fa4b1)
    • rename NewCachedToken to New (a69cb5e8)
    • replace sync.Map to builtin wit mutex (6b0fcbb5)
    • rename storage to store (ada6dbe3)

    Code Refactoring

    • basic and support custom password compare (ed638f82)
    • move tfa to otp and enhance API (c220d5c7)

    Tests

    • fix issue 40 (6ac97fb2)
    • fix misstake in test table for seesion (d872e60e)
    Source code(tar.gz)
    Source code(zip)
  • v2.0.2(Oct 17, 2020)

    2.0.2 (2020-10-17)

    Chores

    • remove cache package (3a9dc085)
    • update readme (716d43f8)

    Documentation

    • update readme (e4b4fcbc)
    • update readme (59ba7fcb)

    Bug Fixes

    • add expiry date/time to token strategy (433e0bf1)
    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Oct 1, 2020)

  • v2.0.0(Oct 1, 2020)

    BREAKING CHANGE: release v2 and drop support for v1

    • BREAKING CHANGE: redesign caching and replace store with cache pkg
    • BREAKING CHANGE: drop tfa pkg -- deprecated
    • BREAKING CHANGE: drop error pkg
    • BREAKING CHANGE: drop beraer pkg -- deprecated
    • chore: move internal pkg to auth/internal
    • BREAKING CHANGE: change auth.info interface and add setters/getters
    • chore: remove internal user
    • feat: add auth.Extentions type
    • BREAKING CHANGE: remove StrategyKey type
    • BREAKING CHANGE: change append/revoke function signature
    • BREAKING CHANGE: rename basic strategy Comparator.Verify to Comparator.Compare
    • chore: strategies errors honor "strategies/" prefix
    • BREAKING CHANGE: rename two factor strategy struct
    • refactor: digest strategy and replace public fields with options
    • docs: update docs
    • BREAKING CHANGE: drop auth.authenticator and replace it with union strategy
    • docs: update _examples
    Source code(tar.gz)
    Source code(zip)
Owner
Sanad Haj Yahya
Sanad Haj Yahya
Authorization and authentication. Learning go by writing a simple authentication and authorization service.

Authorization and authentication. Learning go by writing a simple authentication and authorization service.

Dinesh Bhattarai 0 Aug 5, 2022
A simple passwordless authentication middleware that uses only email as the authentication provider

email auth A simple passwordless authentication middleware that uses only email as the authentication provider. Motivation I wanted to restrict access

Miroslav Šedivý 5 Jul 27, 2022
Authelia: an open-source authentication and authorization server providing two-factor authentication

Authelia is an open-source authentication and authorization server providing two

Streato 0 Jan 5, 2022
Authentication Plugin for implementing Form-Based, Basic, Local, LDAP, OpenID Connect, OAuth 2.0, SAML Authentication

Authentication Plugin for implementing Form-Based, Basic, Local, LDAP, OpenID Connect, OAuth 2.0, SAML Authentication

Paul Greenberg 643 Nov 27, 2022
🍍Jeff provides the simplest way to manage web sessions in Go.

jeff A tool for managing login sessions in Go. Motivation I was looking for a simple session management wrapper for Go and from what I could tell ther

Alan Braithwaite 242 Nov 22, 2022
A simple authentication web application in Golang (using jwt)

Simple Authentication WebApp A simple authentication web app in Go (using JWT) Routes Path Method Data /api/v1/auth/register POST {"firstname":,"lastn

Shayan 2 Feb 6, 2022
A reverse proxy that provides authentication with Google, Github or other providers.

A reverse proxy and static file server that provides authentication using Providers (Google, GitHub, and others) to validate accounts by email, domain or group.

OAuth2 Proxy 6.1k Nov 27, 2022
A reverse proxy that provides authentication with Google, Github or other providers.

A reverse proxy and static file server that provides authentication using Providers (Google, GitHub, and others) to validate accounts by email, domain

OAuth2 Proxy 6.1k Dec 1, 2022
AuthService is a service that provides authentication with Minecraft Mojang.

AuthService AuthService is a service that provides authentication with Minecraft Mojang. Protobuf is managed by Buf. Command to pull Protobuf files wi

Layercraft 1 Aug 20, 2022
Authentication service that keeps you in control without forcing you to be an expert in web security.

Authentication service that keeps you in control without forcing you to be an expert in web security.

Keratin 1.1k Nov 18, 2022
Handle Web Authentication for Go apps that wish to implement a passwordless solution for users

WebAuthn Library This library is meant to handle Web Authentication for Go apps that wish to implement a passwordless solution for users. While the sp

Duo Labs 993 Nov 27, 2022
Handle Web Authentication for Go apps that wish to implement a passwordless solution for users

WebAuthn Library This library is meant to handle Web Authentication for Go apps that wish to implement a passwordless solution for users. While the sp

null 28 Nov 29, 2022
🔥 Golang Rest Api with basic JWT Authentication and Basic Crud Operations.

?? Golang Rest Api with basic JWT Authentication and Basic Crud Operations.

Junaid Javed 19 Oct 4, 2022
Example of a simple application which is powered by a third-party oAuth 2.0 server for it's authentication / authorization. Written in Golang.

go mod init github.com/bartmika/osin-thirdparty-example go get github.com/spf13/cobra go get github.com/openshift/osin go get github.com/openshift/osi

Bartlomiej Mika 0 Jan 4, 2022
Authenticated and encrypted API tokens using modern crypto

Branca Token Authenticated and encrypted API tokens using modern crypto. What? Branca is a secure, easy to use token format which makes it hard to sho

Mika Tuupola 192 Nov 24, 2022
A library and binary to dump authentication configuration from etcd.

A libary and binary to dump authentication information from etcd. The commands are suitable for configuring an empty etcd cluster to get to the same authentication config.

Jille Timmermans 1 Jan 20, 2022
fiber api key authentication middleware

fiber-key-auth Secure your fiber endpoints using API keys. Report Bug · Request Feature Table of Contents About The Project Built With Getting Started

Ben 5 Nov 29, 2022
Simple authentication and books management with GoFiber

Simple authentication and books management with GoFiber Simple authentication system with gofiber. Endpoints GET /api - Welcome message POST /api/auth

Arif Amir 13 Aug 21, 2022
This package provides json web token (jwt) middleware for goLang http servers

jwt-auth jwt auth middleware in goLang. If you're interested in using sessions, checkout my sessions library! README Contents: Quickstart Performance

Adam Hanna 224 Nov 20, 2022