in app.go [253:275]
func (app *App) mfaToken() (string, error) {
var token string
var err error
app.stderr.Write([]byte("Enter MFA token: "))
stdinFile, ok := app.stdin.(*os.File)
if ok && terminal.IsTerminal(int(stdinFile.Fd())) {
token, err = readSecretInputFromTerminal(stdinFile)
// Echo the user's "enter" keypress so they get feedback that they did
// in fact hit enter.
app.stderr.Write([]byte("\n"))
} else {
token, err = readInput(app.stdinReader)
}
if err != nil {
return "", fmt.Errorf("unable to read MFA token from stdin: %v", err)
}
return strings.TrimSpace(token), nil
}