From 9c77a7fb9090f7874d4472d445033e5a00945bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Jochum?= Date: Wed, 21 Sep 2022 20:02:57 +0200 Subject: [PATCH] Fix flags handling --- cmd/microauth2sqld/main.go | 5 ++--- noop.go | 4 ++-- plugins/client/jwt/jwt.go | 30 +++++++++++++++--------------- shared/sutil/flags.go | 8 ++++++++ 4 files changed, 27 insertions(+), 20 deletions(-) diff --git a/cmd/microauth2sqld/main.go b/cmd/microauth2sqld/main.go index abd0579..c4e0480 100644 --- a/cmd/microauth2sqld/main.go +++ b/cmd/microauth2sqld/main.go @@ -97,7 +97,7 @@ func main() { auth2ClientReg := auth2.ClientAuthRegistry() auth2ClientReg.ForcePlugin("jwt") - flags := []cli.Flag{ + flags := ibun.AppendFlags(ilogger.AppendFlags(auth2ClientReg.AppendFlags([]cli.Flag{ // Generate &cli.BoolFlag{ Name: "auth2_generate_keys", @@ -159,8 +159,7 @@ func main() { Usage: "Add and expect this JWT audience", EnvVars: []string{"MICRO_AUTH2_JWT_AUDIENCES"}, }, - } - flags = ibun.AppendFlags(ilogger.AppendFlags(auth2ClientReg.AppendFlags(flags))) + }))) authHandler := handler.NewHandler() diff --git a/noop.go b/noop.go index 1646d99..7153c0a 100644 --- a/noop.go +++ b/noop.go @@ -26,7 +26,7 @@ func (p *noopClientPlugin) String() string { } func (p *noopClientPlugin) AppendFlags(flags []cli.Flag) []cli.Flag { - return []cli.Flag{} + return flags } func (p *noopClientPlugin) Init(cli *cli.Context, service micro.Service) error { @@ -71,7 +71,7 @@ func (p *noopRouterPlugin) String() string { } func (p *noopRouterPlugin) AppendFlags(flags []cli.Flag) []cli.Flag { - return []cli.Flag{} + return flags } func (p *noopRouterPlugin) Init(cli *cli.Context, service micro.Service) error { diff --git a/plugins/client/jwt/jwt.go b/plugins/client/jwt/jwt.go index 92d2d2b..dcce9bd 100644 --- a/plugins/client/jwt/jwt.go +++ b/plugins/client/jwt/jwt.go @@ -44,21 +44,21 @@ func (p *jwtPlugin) String() string { } func (p *jwtPlugin) AppendFlags(flags []cli.Flag) []cli.Flag { - flags = sutil.AppendFlag(flags, &cli.StringFlag{ - Name: "auth2_jwt_pub_key", - Usage: "Public key PEM base64 encoded for access keys", - EnvVars: []string{"MICRO_AUTH2_JWT_PUB_KEY"}, - }) - flags = sutil.AppendFlag(flags, &cli.StringFlag{ - Name: "auth2_jwt_priv_key", - Usage: "Private key PEM base64 encoded for access keys", - EnvVars: []string{"MICRO_AUTH2_JWT_PRIV_KEY"}, - }) - return sutil.AppendFlag(flags, &cli.StringSliceFlag{ - Name: "auth2_jwt_audience", - Usage: "Add and expect this JWT audience", - EnvVars: []string{"MICRO_AUTH2_JWT_AUDIENCES"}, - }) + return sutil.AppendFlags(flags, + &cli.StringFlag{ + Name: "auth2_jwt_pub_key", + Usage: "Public key PEM base64 encoded for access keys", + EnvVars: []string{"MICRO_AUTH2_JWT_PUB_KEY"}, + }, &cli.StringFlag{ + Name: "auth2_jwt_priv_key", + Usage: "Private key PEM base64 encoded for access keys", + EnvVars: []string{"MICRO_AUTH2_JWT_PRIV_KEY"}, + }, &cli.StringSliceFlag{ + Name: "auth2_jwt_audience", + Usage: "Add and expect this JWT audience", + EnvVars: []string{"MICRO_AUTH2_JWT_AUDIENCES"}, + }, + ) } func (p *jwtPlugin) Init(cli *cli.Context, service micro.Service) error { diff --git a/shared/sutil/flags.go b/shared/sutil/flags.go index c261189..3fb9b69 100644 --- a/shared/sutil/flags.go +++ b/shared/sutil/flags.go @@ -17,3 +17,11 @@ func AppendFlag(flags []cli.Flag, flag cli.Flag) []cli.Flag { return append(flags, flag) } + +func AppendFlags(flags []cli.Flag, newFlags ...cli.Flag) []cli.Flag { + for _, f := range newFlags { + flags = AppendFlag(flags, f) + } + + return flags +}