update logout method

This commit is contained in:
Fran Jurmanović
2025-09-14 19:32:51 +02:00
parent e6b7ec7401
commit 091729dc74
5 changed files with 12 additions and 14 deletions

7
src/app/logout/page.tsx Normal file
View File

@@ -0,0 +1,7 @@
import { logout } from '@/lib/auth/server';
import { redirect, RedirectType } from 'next/navigation';
export async function GET() {
await logout();
redirect('/login', RedirectType.replace);
}

View File

@@ -7,6 +7,6 @@ export default async function HomePage() {
if (session.token && session.user) {
redirect('/dashboard');
} else {
redirect('/login');
redirect('/logout');
}
}

View File

@@ -1,6 +1,6 @@
'use server';
import { redirect } from 'next/navigation';
import { redirect, RedirectType } from 'next/navigation';
import { loginUser } from '@/lib/api/server/auth';
import { login, logout } from '@/lib/auth/server';
@@ -42,6 +42,5 @@ export async function loginAction(prevState: LoginResult, formData: FormData) {
}
export async function logoutAction() {
await logout();
redirect('/login');
redirect('/logout');
}

View File

@@ -1,13 +1,5 @@
import { cookies } from 'next/headers';
import { redirect } from 'next/navigation';
export async function clearAuthAndRedirect(to = '/login') {
const c = await cookies();
c.delete('session');
c.delete('refresh');
redirect(to);
}
const BASE_URL = process.env.API_BASE_URL || 'http://localhost:8080';
type ApiResponse<T> = {
@@ -35,7 +27,7 @@ export async function fetchServerAPI<T>(
if (!response.ok) {
if (response.status == 401) {
clearAuthAndRedirect();
redirect('/logout');
return { error: 'unauthorized' };
}
throw new Error(

View File

@@ -12,7 +12,7 @@ export async function requireAuth() {
const session = await getSession();
if (!session.token || !session.user) {
redirect('/login');
redirect('/logout');
}
return session;