@@ -168,28 +168,31 @@ func login() *cobra.Command {
168
168
return nil
169
169
}
170
170
171
- authURL := * serverURL
172
- authURL .Path = serverURL .Path + "/cli-auth"
173
- if err := openURL (cmd ,authURL .String ());err != nil {
174
- _ ,_ = fmt .Fprintf (cmd .OutOrStdout (),"Open the following in your browser:\n \n \t %s\n \n " ,authURL .String ())
175
- }else {
176
- _ ,_ = fmt .Fprintf (cmd .OutOrStdout (),"Your browser has been opened to visit:\n \n \t %s\n \n " ,authURL .String ())
177
- }
171
+ sessionToken ,_ := cmd .Flags ().GetString (varToken )
172
+ if sessionToken == "" {
173
+ authURL := * serverURL
174
+ authURL .Path = serverURL .Path + "/cli-auth"
175
+ if err := openURL (cmd ,authURL .String ());err != nil {
176
+ _ ,_ = fmt .Fprintf (cmd .OutOrStdout (),"Open the following in your browser:\n \n \t %s\n \n " ,authURL .String ())
177
+ }else {
178
+ _ ,_ = fmt .Fprintf (cmd .OutOrStdout (),"Your browser has been opened to visit:\n \n \t %s\n \n " ,authURL .String ())
179
+ }
178
180
179
- sessionToken ,err := cliui .Prompt (cmd , cliui.PromptOptions {
180
- Text :"Paste your token here:" ,
181
- Secret :true ,
182
- Validate :func (token string )error {
183
- client .SessionToken = token
184
- _ ,err := client .User (cmd .Context (),codersdk .Me )
185
- if err != nil {
186
- return xerrors .New ("That's not a valid token!" )
187
- }
188
- return err
189
- },
190
- })
191
- if err != nil {
192
- return xerrors .Errorf ("paste token prompt: %w" ,err )
181
+ sessionToken ,err = cliui .Prompt (cmd , cliui.PromptOptions {
182
+ Text :"Paste your token here:" ,
183
+ Secret :true ,
184
+ Validate :func (token string )error {
185
+ client .SessionToken = token
186
+ _ ,err := client .User (cmd .Context (),codersdk .Me )
187
+ if err != nil {
188
+ return xerrors .New ("That's not a valid token!" )
189
+ }
190
+ return err
191
+ },
192
+ })
193
+ if err != nil {
194
+ return xerrors .Errorf ("paste token prompt: %w" ,err )
195
+ }
193
196
}
194
197
195
198
// Login to get user data - verify it is OK before persisting