diff --git a/html/src/app.js b/html/src/app.js index 794793e2..5fc5d445 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -5160,6 +5160,34 @@ speechSynthesis.getVoices(); this.loginForm.loading = false; throw err; }).then((args) => { + if (this.loginForm.saveCredentials && this.enablePrimaryPassword) { + $app.$prompt( + 'Please enter your Primary Password.', + 'Primary Password Required', + { + inputType: "password", + inputPattern: /[\s\S]{1,32}/ + }, + ).then(({ value }) => { + let saveCredential = this.loginForm.savedCredentials[Object.keys(this.loginForm.savedCredentials)[0]]; + security.decrypt(saveCredential.loginParmas.password, value).then(_ => { + security.encrypt(this.loginForm.password, value).then(pwd => { + API.login({ + username: this.loginForm.username, + password: this.loginForm.password, + saveCredentials: this.loginForm.saveCredentials, + cipher: pwd + }).finally(() => { + this.loginForm.username = ''; + this.loginForm.password = ''; + }); + }) + }) + }).finally(() => { + this.loginForm.loading = false; + }); + return args + } API.login({ username: this.loginForm.username, password: this.loginForm.password,