Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6f78aed

Browse files
f0sselkylecarbs
authored andcommitted
feat: Support reading from token flag on coder login (#1483)
1 parent6343236 commit6f78aed

File tree

2 files changed

+36
-21
lines changed

2 files changed

+36
-21
lines changed

‎cli/login.go

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -168,28 +168,31 @@ func login() *cobra.Command {
168168
returnnil
169169
}
170170

171-
authURL:=*serverURL
172-
authURL.Path=serverURL.Path+"/cli-auth"
173-
iferr:=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+
ifsessionToken=="" {
173+
authURL:=*serverURL
174+
authURL.Path=serverURL.Path+"/cli-auth"
175+
iferr:=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+
}
178180

179-
sessionToken,err:=cliui.Prompt(cmd, cliui.PromptOptions{
180-
Text:"Paste your token here:",
181-
Secret:true,
182-
Validate:func(tokenstring)error {
183-
client.SessionToken=token
184-
_,err:=client.User(cmd.Context(),codersdk.Me)
185-
iferr!=nil {
186-
returnxerrors.New("That's not a valid token!")
187-
}
188-
returnerr
189-
},
190-
})
191-
iferr!=nil {
192-
returnxerrors.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(tokenstring)error {
185+
client.SessionToken=token
186+
_,err:=client.User(cmd.Context(),codersdk.Me)
187+
iferr!=nil {
188+
returnxerrors.New("That's not a valid token!")
189+
}
190+
returnerr
191+
},
192+
})
193+
iferr!=nil {
194+
returnxerrors.Errorf("paste token prompt: %w",err)
195+
}
193196
}
194197

195198
// Login to get user data - verify it is OK before persisting

‎cli/login_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,16 @@ func TestLogin(t *testing.T) {
140140
cancelFunc()
141141
<-doneChan
142142
})
143+
144+
t.Run("TokenFlag",func(t*testing.T) {
145+
t.Parallel()
146+
client:=coderdtest.New(t,nil)
147+
coderdtest.CreateFirstUser(t,client)
148+
root,cfg:=clitest.New(t,"login",client.URL.String(),"--token",client.SessionToken)
149+
err:=root.Execute()
150+
require.NoError(t,err)
151+
sessionFile,err:=cfg.Session().Read()
152+
require.NoError(t,err)
153+
require.Equal(t,client.SessionToken,sessionFile)
154+
})
143155
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp