MCPcopy
hub / github.com/cloudfoundry/cli / authenticateSSO

Method authenticateSSO

cf/commands/login.go:170–212  ·  view source on GitHub ↗
(c flags.FlagContext)

Source from the content-addressed store, hash-verified

168}
169
170func (cmd Login) authenticateSSO(c flags.FlagContext) error {
171 prompts, err := cmd.authenticator.GetLoginPromptsAndSaveUAAServerURL()
172 if err != nil {
173 return err
174 }
175
176 credentials := make(map[string]string)
177 passcode := prompts["passcode"]
178
179 if passcode.DisplayName == "" {
180 passcode = coreconfig.AuthPrompt{
181 Type: coreconfig.AuthPromptTypePassword,
182 DisplayName: T("Temporary Authentication Code ( Get one at {{.AuthenticationEndpoint}}/passcode )",
183 map[string]interface{}{
184 "AuthenticationEndpoint": cmd.config.AuthenticationEndpoint(),
185 }),
186 }
187 }
188
189 for i := 0; i < maxLoginTries; i++ {
190 if c.IsSet("sso-passcode") && i == 0 {
191 credentials["passcode"] = c.String("sso-passcode")
192 } else {
193 credentials["passcode"] = cmd.ui.AskForPassword(passcode.DisplayName)
194 }
195
196 cmd.ui.Say(T("Authenticating..."))
197 err = cmd.authenticator.Authenticate(credentials)
198
199 if err == nil {
200 cmd.ui.Ok()
201 cmd.ui.Say("")
202 break
203 }
204
205 cmd.ui.Say(err.Error())
206 }
207
208 if err != nil {
209 return errors.New(T("Unable to authenticate."))
210 }
211 return nil
212}
213
214func (cmd Login) authenticate(c flags.FlagContext) error {
215 if cmd.config.UAAGrantType() == "client_credentials" {

Callers 1

ExecuteMethod · 0.95

Calls 9

IsSetMethod · 0.65
StringMethod · 0.65
AskForPasswordMethod · 0.65
SayMethod · 0.65
AuthenticateMethod · 0.65
OkMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected