Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShishkevich D. <135337715+shishkevichd@users.noreply.github.com>2025-05-08 17:20:58 +0300
committerGitHub <noreply@github.com>2025-05-08 17:20:58 +0300
commitfe3b1c9b52f584b0f045907585b206344fed55db (patch)
treeaeef0fa82a0355ee899ec3aecee23045a327a6dc /web/html/login.html
parentd39ccf4b8f77f99d4468580085e9d89e8b5f0b1c (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.html20
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;
}
},