From cee982754b189759eb5ba937dc8ba443fde7c641 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Wed, 18 Sep 2024 20:41:21 +0400 Subject: [PATCH] Requested changes --- cli/packages/cmd/export.go | 8 ++++---- cli/packages/cmd/folder.go | 8 ++++---- cli/packages/cmd/root.go | 9 +-------- cli/packages/cmd/run.go | 8 ++++---- cli/packages/cmd/secrets.go | 26 ++++++++++++-------------- cli/packages/models/cli.go | 6 +++--- cli/packages/util/auth.go | 24 ------------------------ cli/packages/util/helper.go | 16 +++++++++------- 8 files changed, 37 insertions(+), 68 deletions(-) diff --git a/cli/packages/cmd/export.go b/cli/packages/cmd/export.go index cac014834..f6b028b7a 100644 --- a/cli/packages/cmd/export.go +++ b/cli/packages/cmd/export.go @@ -94,9 +94,9 @@ var exportCmd = &cobra.Command{ IncludeImport: includeImports, } - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { request.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { request.UniversalAuthAccessToken = token.Token } @@ -141,9 +141,9 @@ var exportCmd = &cobra.Command{ authParams := models.ExpandSecretsAuthentication{} - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { authParams.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { authParams.UniversalAuthAccessToken = token.Token } diff --git a/cli/packages/cmd/folder.go b/cli/packages/cmd/folder.go index a634abbeb..538f1e2dc 100644 --- a/cli/packages/cmd/folder.go +++ b/cli/packages/cmd/folder.go @@ -53,9 +53,9 @@ var getCmd = &cobra.Command{ FoldersPath: foldersPath, } - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { request.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { request.UniversalAuthAccessToken = token.Token } @@ -125,7 +125,7 @@ var createCmd = &cobra.Command{ WorkspaceId: projectId, } - if util.ShouldUseInfisicalToken(token, nil) { + if token != nil && (token.Type == util.SERVICE_TOKEN_IDENTIFIER || token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER) { params.InfisicalToken = token.Token } @@ -193,7 +193,7 @@ var deleteCmd = &cobra.Command{ FolderPath: folderPath, } - if util.ShouldUseInfisicalToken(token, nil) { + if token != nil && (token.Type == util.SERVICE_TOKEN_IDENTIFIER || token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER) { params.InfisicalToken = token.Token } diff --git a/cli/packages/cmd/root.go b/cli/packages/cmd/root.go index d45492953..e40c07022 100644 --- a/cli/packages/cmd/root.go +++ b/cli/packages/cmd/root.go @@ -60,14 +60,7 @@ func init() { token, err := util.GetInfisicalToken(cmd) if err == nil && token != nil { - var usingFrom string - if token.PassedAsFlag { - usingFrom = "--token flag" - } else { - usingFrom = "INFISICAL_TOKEN environment variable" - } - util.PrintWarning(fmt.Sprintf("Your logged-in session is being overwritten by the token provided from the %s", usingFrom)) - + util.PrintWarning(fmt.Sprintf("Your logged-in session is being overwritten by the token provided from the %s.", token.Source)) } } diff --git a/cli/packages/cmd/run.go b/cli/packages/cmd/run.go index d33d3c2a8..fa5176d89 100644 --- a/cli/packages/cmd/run.go +++ b/cli/packages/cmd/run.go @@ -439,9 +439,9 @@ func executeCommandWithWatchMode(commandFlag string, args []string, watchModeInt func fetchAndFormatSecretsForShell(request models.GetAllSecretsParameters, projectConfigDir string, secretOverriding bool, shouldExpandSecrets bool, token *models.TokenDetails) (models.InjectableEnvironmentResult, error) { - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { request.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { request.UniversalAuthAccessToken = token.Token } @@ -461,9 +461,9 @@ func fetchAndFormatSecretsForShell(request models.GetAllSecretsParameters, proje authParams := models.ExpandSecretsAuthentication{} - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { authParams.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { authParams.UniversalAuthAccessToken = token.Token } diff --git a/cli/packages/cmd/secrets.go b/cli/packages/cmd/secrets.go index d0bbdb596..e2987cc7d 100644 --- a/cli/packages/cmd/secrets.go +++ b/cli/packages/cmd/secrets.go @@ -87,9 +87,9 @@ var secretsCmd = &cobra.Command{ Recursive: recursive, } - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { request.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { request.UniversalAuthAccessToken = token.Token } @@ -106,10 +106,9 @@ var secretsCmd = &cobra.Command{ if shouldExpandSecrets { authParams := models.ExpandSecretsAuthentication{} - - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { authParams.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { authParams.UniversalAuthAccessToken = token.Token } @@ -189,7 +188,7 @@ var secretsSetCmd = &cobra.Command{ } var secretOperations []models.SecretSetOperation - if util.ShouldUseInfisicalToken(token, nil) { + if token != nil && (token.Type == util.SERVICE_TOKEN_IDENTIFIER || token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER) { if projectId == "" { util.PrintErrorMessageAndExit("When using service tokens or machine identities, you must set the --projectId flag") } @@ -283,7 +282,7 @@ var secretsDeleteCmd = &cobra.Command{ projectId = workspaceFile.WorkspaceId } - if util.ShouldUseInfisicalToken(token, nil) { + if token != nil && (token.Type == util.SERVICE_TOKEN_IDENTIFIER || token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER) { httpClient.SetAuthToken(token.Token) } else { util.RequireLogin() @@ -391,9 +390,9 @@ func getSecretsByNames(cmd *cobra.Command, args []string) { Recursive: recursive, } - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { request.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { request.UniversalAuthAccessToken = token.Token } @@ -410,10 +409,9 @@ func getSecretsByNames(cmd *cobra.Command, args []string) { if shouldExpand { authParams := models.ExpandSecretsAuthentication{} - - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { authParams.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { authParams.UniversalAuthAccessToken = token.Token } @@ -487,9 +485,9 @@ func generateExampleEnv(cmd *cobra.Command, args []string) { IncludeImport: true, } - if util.ShouldUseInfisicalToken(token, []string{util.SERVICE_TOKEN_IDENTIFIER}) { + if token != nil && token.Type == util.SERVICE_TOKEN_IDENTIFIER { request.InfisicalToken = token.Token - } else if util.ShouldUseInfisicalToken(token, []string{util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER}) { + } else if token != nil && token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER { request.UniversalAuthAccessToken = token.Token } diff --git a/cli/packages/models/cli.go b/cli/packages/models/cli.go index 3a6484e89..62ff07190 100644 --- a/cli/packages/models/cli.go +++ b/cli/packages/models/cli.go @@ -63,9 +63,9 @@ type DynamicSecretLease struct { } type TokenDetails struct { - Type string - Token string - PassedAsFlag bool + Type string + Token string + Source string } type SingleFolder struct { diff --git a/cli/packages/util/auth.go b/cli/packages/util/auth.go index 257d647a3..cdcd7b50a 100644 --- a/cli/packages/util/auth.go +++ b/cli/packages/util/auth.go @@ -1,9 +1,5 @@ package util -import ( - "github.com/Infisical/infisical-merge/packages/models" -) - type AuthStrategyType string var AuthStrategy = struct { @@ -47,23 +43,3 @@ func IsAuthMethodValid(authMethod string, allowUserAuth bool) (isValid bool, str } return false, "" } - -func ShouldUseInfisicalToken(token *models.TokenDetails, validTokenTypes []string) bool { - if token == nil { - return false - } - - // If nil is passed, we assume both service and universal tokens are acceptable. - if validTokenTypes == nil { - validTokenTypes = []string{SERVICE_TOKEN_IDENTIFIER, UNIVERSAL_AUTH_TOKEN_IDENTIFIER} - } - - for _, tokenType := range validTokenTypes { - if token.Type == tokenType { - return true - } - } - - return false - -} diff --git a/cli/packages/util/helper.go b/cli/packages/util/helper.go index bcae127b5..11a1e3e0a 100644 --- a/cli/packages/util/helper.go +++ b/cli/packages/util/helper.go @@ -87,13 +87,15 @@ func GetInfisicalToken(cmd *cobra.Command) (token *models.TokenDetails, err erro return nil, err } - passedAsFlag := infisicalToken != "" + var source = "--token flag" if infisicalToken == "" { // If no flag is passed, we first check for the universal auth access token env variable. infisicalToken = os.Getenv(INFISICAL_UNIVERSAL_AUTH_ACCESS_TOKEN_NAME) + source = fmt.Sprintf("%s environment variable", INFISICAL_UNIVERSAL_AUTH_ACCESS_TOKEN_NAME) if infisicalToken == "" { // If it's still empty after the first env check, we check for the service token env variable. infisicalToken = os.Getenv(INFISICAL_TOKEN_NAME) + source = fmt.Sprintf("%s environment variable", INFISICAL_TOKEN_NAME) } } @@ -103,16 +105,16 @@ func GetInfisicalToken(cmd *cobra.Command) (token *models.TokenDetails, err erro if strings.HasPrefix(infisicalToken, "st.") { return &models.TokenDetails{ - Type: SERVICE_TOKEN_IDENTIFIER, - Token: infisicalToken, - PassedAsFlag: passedAsFlag, + Type: SERVICE_TOKEN_IDENTIFIER, + Token: infisicalToken, + Source: source, }, nil } return &models.TokenDetails{ - Type: UNIVERSAL_AUTH_TOKEN_IDENTIFIER, - Token: infisicalToken, - PassedAsFlag: passedAsFlag, + Type: UNIVERSAL_AUTH_TOKEN_IDENTIFIER, + Token: infisicalToken, + Source: source, }, nil }