Add authentication and session management improvements
Build and push image / deploy (push) Has been cancelled

Introduce navigation guards for authentication and admin access within routes. Replace localStorage usage with secure token storage via httpOnly cookies, and add token blacklisting upon logout. Enhance token refresh mechanism and session expiration handling to improve security and user experience.
This commit is contained in:
ajurna committed 2025-05-21 22:53:29 +01:00
1 parent dd5817419b
commit e5086ec653
7 files changed
+204 -58

No files matched your search

+13 -1
View File
@@ -6,7 +6,8 @@
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<!-- Show these links only when user is authenticated -->
<ul class="navbar-nav me-auto mb-2 mb-lg-0" v-if="isAuthenticated">
<li class="nav-item">
<router-link :to="{name: 'browse'}" class="nav-link" >Browse</router-link>
</li>
@@ -26,6 +27,12 @@
<a class="nav-link" @click="logout">Log Out</a>
</li>
</ul>
<!-- Show login link when user is not authenticated -->
<ul class="navbar-nav me-auto mb-2 mb-lg-0" v-else>
<li class="nav-item">
<router-link :to="{name: 'login'}" class="nav-link">Log In</router-link>
</li>
</ul>
</div>
</div>
</nav>
@@ -42,6 +49,11 @@ export default {
visible: false
}
},
computed: {
isAuthenticated() {
return !!this.$store.state.jwt;
}
},
methods: {
logout () {
store.commit('logOut')