From 5d11e6e13f7254a72874dabee6c1cf4e81f5ec52 Mon Sep 17 00:00:00 2001 From: "Shishkevich D." <135337715+shishkevichd@users.noreply.github.com> Date: Wed, 2 Jul 2025 16:25:25 +0700 Subject: chore: reset two-factor authentication after changing admin credentials (#3029) * chore: add `resetTwoFactor` argument for main.go fixes #3025 * chore: reset two-factor authentication after changing admin credentials * chore: reset two-factor authentication after changing admin credentials --------- Co-authored-by: somebodywashere <68244480+somebodywashere@users.noreply.github.com> Co-authored-by: Sanaei --- main.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index dcbd3c9e..9986ede1 100644 --- a/main.go +++ b/main.go @@ -232,7 +232,7 @@ func updateTgbotSetting(tgBotToken string, tgBotChatid string, tgBotRuntime stri } } -func updateSetting(port int, username string, password string, webBasePath string, listenIP string) { +func updateSetting(port int, username string, password string, webBasePath string, listenIP string, resetTwoFactor bool) { err := database.InitDB(config.GetDBPath()) if err != nil { fmt.Println("Database initialization failed:", err) @@ -269,6 +269,17 @@ func updateSetting(port int, username string, password string, webBasePath strin } } + if resetTwoFactor { + err := settingService.SetTwoFactorEnable(false) + + if err != nil { + fmt.Println("Failed to reset two-factor authentication:", err) + } else { + settingService.SetTwoFactorToken("") + fmt.Println("Two-factor authentication reset successfully") + } + } + if listenIP != "" { err := settingService.SetListen(listenIP) if err != nil { @@ -376,6 +387,7 @@ func main() { var reset bool var show bool var getCert bool + var resetTwoFactor bool settingCmd.BoolVar(&reset, "reset", false, "Reset all settings") settingCmd.BoolVar(&show, "show", false, "Display current settings") settingCmd.IntVar(&port, "port", 0, "Set panel port number") @@ -383,6 +395,7 @@ func main() { settingCmd.StringVar(&password, "password", "", "Set login password") settingCmd.StringVar(&webBasePath, "webBasePath", "", "Set base path for Panel") settingCmd.StringVar(&listenIP, "listenIP", "", "set panel listenIP IP") + settingCmd.BoolVar(&resetTwoFactor, "resetTwoFactor", false, "Reset two-factor authentication settings") settingCmd.BoolVar(&getListen, "getListen", false, "Display current panel listenIP IP") settingCmd.BoolVar(&getCert, "getCert", false, "Display current certificate settings") settingCmd.StringVar(&webCertFile, "webCert", "", "Set path to public key file for panel") @@ -427,7 +440,7 @@ func main() { if reset { resetSetting() } else { - updateSetting(port, username, password, webBasePath, listenIP) + updateSetting(port, username, password, webBasePath, listenIP, resetTwoFactor) } if show { showSetting(show) -- cgit v1.2.3