Fix setting page when disabled auth

This commit is contained in:
Louis Lam 2021-11-09 22:37:05 +08:00
parent 733d0af75f
commit 95bae8289d
2 changed files with 17 additions and 4 deletions

View file

@ -1,5 +1,6 @@
import { io } from "socket.io-client"; import { io } from "socket.io-client";
import { useToast } from "vue-toastification"; import { useToast } from "vue-toastification";
import jwt_decode from "jwt-decode";
const toast = useToast(); const toast = useToast();
let socket; let socket;
@ -217,6 +218,15 @@ export default {
return (this.remember) ? localStorage : sessionStorage; return (this.remember) ? localStorage : sessionStorage;
}, },
getJWTPayload() {
const jwtToken = this.$root.storage().token;
if (jwtToken && jwtToken !== "autoLogin") {
return jwt_decode(jwtToken);
}
return undefined;
},
getSocket() { getSocket() {
return socket; return socket;
}, },

View file

@ -306,7 +306,7 @@
<p>这是为 <strong>有第三方认证</strong> 的用户提供的功能 Cloudflare Access</p> <p>这是为 <strong>有第三方认证</strong> 的用户提供的功能 Cloudflare Access</p>
<p>请谨慎使用</p> <p>请谨慎使用</p>
</template> </template>
<template v-else-if="$i18n.locale === 'zh-TW' "> <template v-else-if="$i18n.locale === 'zh-TW' ">
<p>你是否要<strong>取消登入驗證</strong></p> <p>你是否要<strong>取消登入驗證</strong></p>
<p>此功能是設計給已有<strong>第三方認證</strong>的使用者例如 Cloudflare Access</p> <p>此功能是設計給已有<strong>第三方認證</strong>的使用者例如 Cloudflare Access</p>
@ -515,9 +515,11 @@ export default {
}, },
loadUsername() { loadUsername() {
const jwtToken = this.$root.storage().token; const jwtPayload = this.$root.getJWTPayload();
const jwtPayload = jwt_decode(jwtToken);
this.username = jwtPayload.username; if (jwtPayload) {
this.username = jwtPayload.username;
}
}, },
loadSettings() { loadSettings() {
@ -568,6 +570,7 @@ export default {
this.settings.disableAuth = false; this.settings.disableAuth = false;
this.saveSettings(); this.saveSettings();
this.$root.storage().removeItem("token"); this.$root.storage().removeItem("token");
location.reload();
}, },
downloadBackup() { downloadBackup() {