github.com/hellofresh/janus@v0.0.0-20230925145208-ce8de8183c67/pkg/jwt/basic/provider.go (about)

     1  package basic
     2  
     3  import (
     4  	"net/http"
     5  
     6  	jwt "github.com/dgrijalva/jwt-go"
     7  	"github.com/hellofresh/janus/pkg/config"
     8  	"github.com/hellofresh/janus/pkg/jwt/provider"
     9  )
    10  
    11  func init() {
    12  	provider.Register("basic", &Provider{})
    13  }
    14  
    15  // Provider abstracts the authentication for github
    16  type Provider struct {
    17  	provider.Verifier
    18  }
    19  
    20  // Build acts like the constructor for a provider
    21  func (gp *Provider) Build(config config.Credentials) provider.Provider {
    22  	return &Provider{
    23  		Verifier: provider.NewVerifierBasket(
    24  			NewPasswordVerifier(userConfigToTeam(config.Basic.Users)),
    25  		),
    26  	}
    27  }
    28  
    29  // GetClaims returns a JWT Map Claim
    30  func (gp *Provider) GetClaims(httpClient *http.Client) (jwt.MapClaims, error) {
    31  	return jwt.MapClaims{}, nil
    32  }
    33  
    34  func userConfigToTeam(configUser map[string]string) []*user {
    35  	users := []*user{}
    36  	for u, p := range configUser {
    37  		users = append(users, &user{
    38  			Username: u,
    39  			Password: p,
    40  		})
    41  	}
    42  	return users
    43  }