Implemented logout system

This commit is contained in:
2025-09-18 23:57:19 -04:00
parent f708349a99
commit 5122e44743
2 changed files with 14 additions and 4 deletions

View File

@@ -7,6 +7,8 @@ const express = require('express');
const { param } = require('./applications'); const { param } = require('./applications');
const router = express.Router(); const router = express.Router();
const pool = require('../db') const pool = require('../db')
const querystring = require('querystring');
passport.use(new OpenIDConnectStrategy({ passport.use(new OpenIDConnectStrategy({
issuer: process.env.AUTH_ISSUER, issuer: process.env.AUTH_ISSUER,
@@ -74,7 +76,7 @@ router.post('/logout', function (req, res, next) {
client_id: process.env.AUTH_CLIENT_ID, client_id: process.env.AUTH_CLIENT_ID,
returnTo: 'https://aj17thdev.nexuszone.net/' returnTo: 'https://aj17thdev.nexuszone.net/'
}; };
res.redirect(process.env.AUTH_DOMAIN + '/v2/logout?' + qs.stringify(params)); res.redirect(process.env.AUTH_DOMAIN + '/v2/logout?' + querystring.stringify(params));
}); });
}); });

View File

@@ -22,6 +22,14 @@ onMounted(async () => {
userStore.user = data; userStore.user = data;
}); });
async function logout() {
await fetch(`${import.meta.env.VITE_APIHOST}/logout`, {
method: 'POST',
credentials: 'include',
});
userStore.user = null;
}
</script> </script>
<template> <template>
@@ -75,7 +83,7 @@ onMounted(async () => {
<div> <div>
<DropdownMenu v-if="userStore.isLoggedIn"> <DropdownMenu v-if="userStore.isLoggedIn">
<DropdownMenuTrigger class="cursor-pointer"> <DropdownMenuTrigger class="cursor-pointer">
<p>Profile</p> <p>{{ userStore.user.name }}</p>
</DropdownMenuTrigger> </DropdownMenuTrigger>
<DropdownMenuContent> <DropdownMenuContent>
<DropdownMenuItem>My Profile</DropdownMenuItem> <DropdownMenuItem>My Profile</DropdownMenuItem>
@@ -85,7 +93,7 @@ onMounted(async () => {
Submit LOA Submit LOA
</RouterLink> </RouterLink>
</DropdownMenuItem> </DropdownMenuItem>
<DropdownMenuItem :variant="'destructive'">Logout</DropdownMenuItem> <DropdownMenuItem :variant="'destructive'" @click="logout()">Logout</DropdownMenuItem>
</DropdownMenuContent> </DropdownMenuContent>
</DropdownMenu> </DropdownMenu>