From cfcf939339c2af2cd84f4bac2f54ca83c951c03c Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Fri, 18 Aug 2023 08:57:56 +0200 Subject: [PATCH] Add config to jwt again --- internal/auth/auth.go | 12 ++++++------ internal/auth/jwt.go | 5 ++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/internal/auth/auth.go b/internal/auth/auth.go index b10c3bd..8c873ad 100644 --- a/internal/auth/auth.go +++ b/internal/auth/auth.go @@ -101,12 +101,6 @@ func Init(configs map[string]interface{}) (*Authentication, error) { auth.sessionStore = sessions.NewCookieStore(bytes) } - auth.JwtAuth = &JWTAuthenticator{} - if err := auth.JwtAuth.Init(); err != nil { - log.Error("Error while initializing authentication -> jwtAuth init failed") - return nil, err - } - if config, ok := configs["ldap"]; ok { ldapAuth := &LdapAuthenticator{} if err := ldapAuth.Init(config); err != nil { @@ -120,6 +114,12 @@ func Init(configs map[string]interface{}) (*Authentication, error) { } if config, ok := configs["jwt"]; ok { + auth.JwtAuth = &JWTAuthenticator{} + if err := auth.JwtAuth.Init(config); err != nil { + log.Error("Error while initializing authentication -> jwtAuth init failed") + return nil, err + } + jwtSessionAuth := &JWTSessionAuthenticator{} if err := jwtSessionAuth.Init(config); err != nil { log.Warn("Error while initializing authentication -> jwtSessionAuth init failed") diff --git a/internal/auth/jwt.go b/internal/auth/jwt.go index 4a1e4b8..9c0166d 100644 --- a/internal/auth/jwt.go +++ b/internal/auth/jwt.go @@ -22,9 +22,12 @@ import ( type JWTAuthenticator struct { publicKey ed25519.PublicKey privateKey ed25519.PrivateKey + config *schema.JWTAuthConfig } -func (ja *JWTAuthenticator) Init() error { +func (ja *JWTAuthenticator) Init(conf interface{}) error { + ja.config = conf.(*schema.JWTAuthConfig) + pubKey, privKey := os.Getenv("JWT_PUBLIC_KEY"), os.Getenv("JWT_PRIVATE_KEY") if pubKey == "" || privKey == "" { log.Warn("environment variables 'JWT_PUBLIC_KEY' or 'JWT_PRIVATE_KEY' not set (token based authentication will not work)")