From c267aee20f2882f3b36bf56295f688c0875af581 Mon Sep 17 00:00:00 2001 From: quinton11 Date: Mon, 19 Jun 2023 22:25:21 +0000 Subject: [PATCH] feat: interactive login --- cli/packages/cmd/login.go | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/cli/packages/cmd/login.go b/cli/packages/cmd/login.go index 9133d3101..56998cbdb 100644 --- a/cli/packages/cmd/login.go +++ b/cli/packages/cmd/login.go @@ -98,13 +98,22 @@ var loginCmd = &cobra.Command{ util.HandleError(err, "Unable to parse domain url") } } + var userCredentialsToBeStored models.UserCredentials + + interactiveLogin := false + if cmd.Flags().Changed("interactive") { + interactiveLogin = true + cliDefaultLogin(&userCredentialsToBeStored) + } //call browser login function - fmt.Printf("\nLogging in via browser... Hit '%s' to cancel\n", QUIT_BROWSER_LOGIN) - userCredentialsToBeStored, err := browserCliLogin() - if err != nil { - //default to cli login on error - cliDefaultLogin(&userCredentialsToBeStored) + if !interactiveLogin { + fmt.Printf("\nLogging in via browser... Hit '%s' to cancel\n", QUIT_BROWSER_LOGIN) + userCredentialsToBeStored, err = browserCliLogin() + if err != nil { + //default to cli login on error + cliDefaultLogin(&userCredentialsToBeStored) + } } err = util.StoreUserCredsInKeyRing(&userCredentialsToBeStored) @@ -303,6 +312,7 @@ func cliDefaultLogin(userCredentialsToBeStored *models.UserCredentials) { func init() { rootCmd.AddCommand(loginCmd) + loginCmd.Flags().BoolP("interactive", "i", false, "login via the command line") } func DomainOverridePrompt() (bool, error) {