Skip to content

Commit 07c02c6

Browse files
committed
add MFA support, update deps
1 parent 5c528a9 commit 07c02c6

File tree

4 files changed

+193
-35
lines changed

4 files changed

+193
-35
lines changed

cmd/root.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,22 @@ func init() {
4141
rootCmd.PersistentFlags().String("serverAddress", "", "Passbolt Server Address (https://passbolt.example.com)")
4242
rootCmd.PersistentFlags().String("userPrivateKey", "", "Passbolt User Private Key")
4343
rootCmd.PersistentFlags().String("userPassword", "", "Passbolt User Password")
44+
rootCmd.PersistentFlags().String("mfaMode", "interactive-totp", "How to Handle MFA, the following Modes exist: none, interactive-totp and noninteractive-totp")
45+
rootCmd.PersistentFlags().String("totpToken", "", "Token to generate TOTP's, only used in nointeractive-totp mode")
46+
rootCmd.PersistentFlags().Duration("totpOffset", time.Duration(0), "TOTP Generation offset only used in noninteractive-totp mode")
47+
rootCmd.PersistentFlags().Uint("mfaRetrys", 3, "How often to retry TOTP Auth, only used in nointeractive modes")
48+
rootCmd.PersistentFlags().Duration("mfaDelay", time.Second*10, "Delay between MFA Attempts, only used in noninteractive modes")
4449

4550
viper.BindPFlag("debug", rootCmd.PersistentFlags().Lookup("debug"))
4651
viper.BindPFlag("timeout", rootCmd.PersistentFlags().Lookup("timeout"))
4752
viper.BindPFlag("serverAddress", rootCmd.PersistentFlags().Lookup("serverAddress"))
4853
viper.BindPFlag("userPrivateKey", rootCmd.PersistentFlags().Lookup("userPrivateKey"))
4954
viper.BindPFlag("userPassword", rootCmd.PersistentFlags().Lookup("userPassword"))
55+
viper.BindPFlag("mfaMode", rootCmd.PersistentFlags().Lookup("mfaMode"))
56+
viper.BindPFlag("totpToken", rootCmd.PersistentFlags().Lookup("totpToken"))
57+
viper.BindPFlag("totpOffset", rootCmd.PersistentFlags().Lookup("totpOffset"))
58+
viper.BindPFlag("mfaRetrys", rootCmd.PersistentFlags().Lookup("mfaRetrys"))
59+
viper.BindPFlag("mfaDelay", rootCmd.PersistentFlags().Lookup("mfaDelay"))
5060
}
5161

5262
// initConfig reads in config file and ENV variables if set.

go.mod

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@ module github.com/speatzle/go-passbolt-cli
33
go 1.16
44

55
require (
6-
github.com/fsnotify/fsnotify v1.5.1 // indirect
7-
github.com/pelletier/go-toml v1.9.4 // indirect
8-
github.com/pterm/pterm v0.12.30
9-
github.com/speatzle/go-passbolt v0.4.0
10-
github.com/spf13/cast v1.4.1 // indirect
6+
github.com/ProtonMail/gopenpgp/v2 v2.2.3 // indirect
7+
github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect
8+
github.com/pterm/pterm v0.12.31
9+
github.com/speatzle/go-passbolt v0.5.0
1110
github.com/spf13/cobra v1.2.1
12-
github.com/spf13/viper v1.8.1
13-
golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34 // indirect
14-
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b
15-
gopkg.in/ini.v1 v1.63.0 // indirect
11+
github.com/spf13/viper v1.9.0
12+
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
13+
golang.org/x/sys v0.0.0-20210921065528-437939a70204 // indirect
14+
golang.org/x/term v0.0.0-20210916214954-140adaaadfaf
1615
)

0 commit comments

Comments
 (0)