diff --git a/src/app/logout/page.tsx b/src/app/logout/page.tsx
new file mode 100644
index 0000000..943a426
--- /dev/null
+++ b/src/app/logout/page.tsx
@@ -0,0 +1,30 @@
+'use client';
+
+import { useEffect } from 'react';
+import { signOut } from 'next-auth/react';
+
+export default function LogoutPage() {
+ useEffect(() => {
+ // Clear localStorage tokens
+ localStorage.removeItem('accessToken');
+ localStorage.removeItem('refreshToken');
+ localStorage.removeItem('user');
+
+ // Sign out via NextAuth (clears session cookie) and redirect to login
+ signOut({ callbackUrl: '/login', redirect: true });
+ }, []);
+
+ return (
+
+
+
+
+ Signing Out
+
+
+ Please wait while we securely log you out...
+
+
+
+ );
+}
diff --git a/src/middleware.ts b/src/middleware.ts
index 256cca4..b0a3aec 100644
--- a/src/middleware.ts
+++ b/src/middleware.ts
@@ -5,7 +5,7 @@ import { NextResponse } from "next/server";
const authRoutes = ["/login", "/signup", "/forgot-password", "/reset-password", "/verify-email"];
// Public routes - accessible to everyone (logged in or not)
-const publicRoutes = ["/", "/contact", "/about", "/faq", "/user/dashboard", "/user/profiles", "/user/profile"];
+const publicRoutes = ["/", "/contact", "/about", "/faq", "/logout", "/user/dashboard", "/user/profiles", "/user/profile"];
export default auth((req) => {
const { nextUrl } = req;
diff --git a/src/services/api.ts b/src/services/api.ts
index 4a4b179..26240ad 100644
--- a/src/services/api.ts
+++ b/src/services/api.ts
@@ -28,7 +28,7 @@ let failedQueue: Array<{
config: InternalAxiosRequestConfig;
}> = [];
-// Force logout: clear all tokens and redirect to login
+// Force logout: clear all tokens and redirect to logout page
const forceLogout = () => {
if (isLoggingOut) return; // Prevent multiple redirects
isLoggingOut = true;
@@ -36,7 +36,8 @@ const forceLogout = () => {
localStorage.removeItem('accessToken');
localStorage.removeItem('refreshToken');
localStorage.removeItem('user');
- window.location.href = '/api/auth/signout?callbackUrl=/login';
+ // Redirect to /logout page which properly clears NextAuth session
+ window.location.href = '/logout';
}
};