Updated dashboard.py and DashboardConfigurationStore.js

- Added `session.clear()` to clean the session specific to each login session
- Clear all cookie with the `signout` request and also clear again (just in case) in the frontend code.
This commit is contained in:
Donald Zou 2024-11-25 01:46:27 +08:00
parent fa04ad1395
commit 5462326f79
2 changed files with 3 additions and 2 deletions

View File

@ -1726,7 +1726,6 @@ def API_ValidateAuthentication():
def API_AuthenticateLogin():
data = request.get_json()
if DashboardConfig.APIAccessed:
authToken = hashlib.sha256(f"{request.headers.get('wg-dashboard-apikey')}{datetime.now()}".encode()).hexdigest()
session['username'] = authToken
resp = ResponseObject(True, DashboardConfig.GetConfig("Other", "welcome_session")[1])
@ -1761,6 +1760,7 @@ def API_AuthenticateLogin():
def API_SignOut():
resp = ResponseObject(True, "")
resp.delete_cookie("authToken")
session.clear()
return resp
@app.route(f'{APP_PREFIX}/api/getWireguardConfigurations', methods=["GET"])

View File

@ -63,8 +63,9 @@ export const DashboardConfigurationStore = defineStore('DashboardConfigurationSt
});
},
async signOut(){
await fetchGet("/api/signout", {}, (res) => {
await fetchGet("/api/signout", {}, () => {
this.removeActiveCrossServer();
document.cookie = '';
this.$router.go('/signin')
});
},