@@ -13,6 +13,7 @@ import (
1313)
1414
1515var loginName string
16+ var loginSkipVerify bool
1617
1718var loginCmd = & cobra.Command {
1819 Use : "login" ,
@@ -34,23 +35,37 @@ var loginCmd = &cobra.Command{
3435 return fmt .Errorf ("API key cannot be empty" )
3536 }
3637
37- result , err := runAuthLogin (apiKey , loginName )
38+ result , err := runAuthLogin (apiKey , loginName , loginSkipVerify )
3839 if err != nil {
3940 return err
4041 }
4142
4243 if isJSONOutput () {
43- return printJSON (cmd .OutOrStdout (), Result {Success : true , Message : fmt .Sprintf ("Authenticated as team: %s" , result .TeamName )})
44+ msg := fmt .Sprintf ("API key saved as %q" , loginName )
45+ if result != nil {
46+ msg = fmt .Sprintf ("Authenticated as team: %s" , result .TeamName )
47+ }
48+ return printJSON (cmd .OutOrStdout (), Result {Success : true , Message : msg })
49+ }
50+ if result != nil {
51+ fmt .Fprintf (cmd .OutOrStdout (), "API key saved as %q. Authenticated as team: %s\n " , loginName , result .TeamName )
52+ } else {
53+ fmt .Fprintf (cmd .OutOrStdout (), "API key saved as %q.\n " , loginName )
4454 }
45- fmt .Fprintf (cmd .OutOrStdout (), "API key saved as %q. Authenticated as team: %s\n " , loginName , result .TeamName )
4655 return nil
4756 },
4857}
4958
50- func runAuthLogin (apiKey , name string ) (* api.APIKeyResponse , error ) {
59+ func runAuthLogin (apiKey , name string , skipVerify bool ) (* api.APIKeyResponse , error ) {
5160 if name == "" {
5261 return nil , errors .New ("use --name to give this key a name" )
5362 }
63+ if skipVerify {
64+ if err := config .Save (apiKey , name ); err != nil {
65+ return nil , err
66+ }
67+ return nil , nil
68+ }
5469 result , err := api .NewClient (config .EndpointURL (), apiKey , debugFlag ).GetAPIKey ()
5570 if err != nil {
5671 return nil , fmt .Errorf ("API key verification failed: %w" , err )
@@ -63,5 +78,6 @@ func runAuthLogin(apiKey, name string) (*api.APIKeyResponse, error) {
6378
6479func init () {
6580 loginCmd .Flags ().StringVarP (& loginName , "name" , "n" , "" , "Name for this API key (e.g. my-team)" )
81+ loginCmd .Flags ().BoolVar (& loginSkipVerify , "skip-verify" , false , "Save the API key without verifying it" )
6682 authCmd .AddCommand (loginCmd )
6783}
0 commit comments