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) diff --git a/web/html/modals/two_factor_modal.html b/web/html/modals/two_factor_modal.html index 7823485f..13d22a5e 100644 --- a/web/html/modals/two_factor_modal.html +++ b/web/html/modals/two_factor_modal.html @@ -15,8 +15,8 @@
{{ i18n "pages.settings.security.twoFactorModalSecondStep" }}
{{ i18n "pages.settings.security.twoFactorModalRemoveStep" }}
+ +[[ twoFactorModal.description ]]