@@ -19,7 +19,8 @@ import (
1919)
2020
2121var (
22- silent bool
22+ silent bool
23+ noPrompt bool
2324)
2425
2526type OAuth2Cmd struct {
@@ -75,6 +76,7 @@ func NewOAuth2Cmd() (cmd *OAuth2Cmd) {
7576 cmd .PersistentFlags ().DurationVar (& cconfig .BrowserTimeout , "browser-timeout" , 10 * time .Minute , "browser timeout" )
7677 cmd .PersistentFlags ().BoolVar (& cconfig .Insecure , "insecure" , false , "allow insecure connections" )
7778 cmd .PersistentFlags ().BoolVarP (& silent , "silent" , "s" , false , "silent mode" )
79+ cmd .PersistentFlags ().BoolVar (& noPrompt , "no-prompt" , false , "disable prompt" )
7880 cmd .PersistentFlags ().BoolVar (& cconfig .DPoP , "dpop" , false , "use DPoP" )
7981 cmd .PersistentFlags ().StringVar (& cconfig .Claims , "claims" , "" , "use claims" )
8082 cmd .PersistentFlags ().StringVar (& cconfig .RAR , "rar" , "" , "use rich authorization request (RAR)" )
@@ -108,6 +110,8 @@ func (c *OAuth2Cmd) Run(cconfig *oauth2.ClientConfig) func(cmd *cobra.Command, a
108110
109111 if silent {
110112 browser .Stdout = io .Discard
113+ } else {
114+ browser .Stdout = os .Stderr
111115 }
112116
113117 tr := & http.Transport {
@@ -169,7 +173,7 @@ func (c *OAuth2Cmd) Authorize(clientConfig oauth2.ClientConfig, hc *http.Client)
169173 return err
170174 }
171175
172- if ! silent {
176+ if ! silent && ! noPrompt {
173177 clientConfig = PromptForClientConfig (clientConfig , serverConfig )
174178 }
175179
@@ -198,10 +202,6 @@ func (c *OAuth2Cmd) Authorize(clientConfig oauth2.ClientConfig, hc *http.Client)
198202}
199203
200204func (c * OAuth2Cmd ) PrintResult (result interface {}) {
201- if ! silent {
202- return
203- }
204-
205205 output , err := json .Marshal (result )
206206
207207 if err != nil {
0 commit comments