diff options
| author | Shishkevich D. <135337715+shishkevichd@users.noreply.github.com> | 2025-05-08 17:20:58 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-08 17:20:58 +0300 |
| commit | fe3b1c9b52f584b0f045907585b206344fed55db (patch) | |
| tree | aeef0fa82a0355ee899ec3aecee23045a327a6dc /web/html/login.html | |
| parent | d39ccf4b8f77f99d4468580085e9d89e8b5f0b1c (diff) | |
chore: implement 2fa auth (#2968)
* chore: implement 2fa auth
from #2786
* chore: format code
* chore: replace two factor token input with qr-code
* chore: requesting confirmation of setting/removing two-factor authentication
otpauth library was taken from cdnjs
* chore: revert changes in `ClipboardManager`
don't need it.
* chore: removing twoFactor prop in settings page
* chore: remove `twoFactorQr` object in `mounted` function
Diffstat (limited to 'web/html/login.html')
| -rw-r--r-- | web/html/login.html | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/web/html/login.html b/web/html/login.html index 9f292d84..515ea2b3 100644 --- a/web/html/login.html +++ b/web/html/login.html @@ -512,11 +512,11 @@ <a-icon slot="prefix" type="lock" :style="{ fontSize: '1rem' }"></a-icon> </a-input-password> </a-form-item> - <a-form-item v-if="secretEnable"> - <a-input-password autocomplete="secret" name="secret" v-model.trim="user.loginSecret" - placeholder='{{ i18n "secretToken" }}' @keydown.enter.native="login"> + <a-form-item v-if="twoFactorEnable"> + <a-input autocomplete="totp" name="twoFactorCode" v-model.trim="user.twoFactorCode" + placeholder='{{ i18n "twoFactorCode" }}' @keydown.enter.native="login"> <a-icon slot="prefix" type="key" :style="{ fontSize: '1rem' }"></a-icon> - </a-input-password> + </a-input> </a-form-item> <a-form-item> <a-row justify="center" class="centered"> @@ -549,14 +549,14 @@ user: { username: "", password: "", - loginSecret: "" + twoFactorCode: "" }, - secretEnable: false, + twoFactorEnable: false, lang: "" }, async mounted() { this.lang = LanguageManager.getLanguage(); - this.secretEnable = await this.getSecretStatus(); + this.twoFactorEnable = await this.getTwoFactorEnable(); }, methods: { async login() { @@ -567,12 +567,12 @@ location.href = basePath + 'panel/'; } }, - async getSecretStatus() { + async getTwoFactorEnable() { this.loading = true; - const msg = await HttpUtil.post('/getSecretStatus'); + const msg = await HttpUtil.post('/getTwoFactorEnable'); this.loading = false; if (msg.success) { - this.secretEnable = msg.obj; + this.twoFactorEnable = msg.obj; return msg.obj; } }, |
