Skip to content

Commit

Permalink
fix: force token refresh with lagoon login
Browse files Browse the repository at this point in the history
  • Loading branch information
shreddedbacon committed Dec 5, 2024
1 parent 2dacb03 commit 4f96e88
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions cmd/login.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,22 @@ import (
)

var loginCmd = &cobra.Command{
Use: "login",
Short: "Log into a Lagoon instance",
Aliases: []string{"l"},
Run: func(cmd *cobra.Command, args []string) {
validateToken(lagoonCLIConfig.Current) // get a new token if the current one is invalid
fmt.Println("Token fetched and saved.")
Use: "login",
Short: "Login or refresh an authentication token",
Long: `Login or refresh an authentication token
This can be used to clear out and force your CLI to refresh a token for a given context.`,
Aliases: []string{"token-refresh", "tr", "l"},
RunE: func(cmd *cobra.Command, args []string) error {
// clear the current token
lc := lagoonCLIConfig.Lagoons[lagoonCLIConfig.Current]
lc.Token = ""
lagoonCLIConfig.Lagoons[lagoonCLIConfig.Current] = lc
// refresh and save new token
if err := validateTokenE(lagoonCLIConfig.Current); err != nil {
return err
}
fmt.Printf("token for context %s fetched and saved.\n", lagoonCLIConfig.Current)
return nil
},
}

Expand Down Expand Up @@ -181,3 +191,7 @@ func retrieveTokenViaSsh() (string, error) {
}
return strings.TrimSpace(string(out)), err
}

func init() {
loginCmd.Flags().Bool("reset-token", false, "clear the token before attempting to log in")
}

0 comments on commit 4f96e88

Please sign in to comment.