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 }