Files
multiverse/jumpa-chat/proxy.ts.bak
T

25 lines
775 B
Plaintext

import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';
export function proxy(request: NextRequest) {
// Mengekstrak HttpOnly Cookie dari Pilar 1
const token = request.cookies.get('jumpa_token')?.value;
// Jika token tidak ada, tendang pengguna ke halaman Login Pilar 1
if (!token) {
// Redirect ke root IAM menggunakan absolute URL agar keluar dari basePath /c
const loginUrl = new URL('/', request.url);
return NextResponse.redirect(loginUrl);
}
// Jika ada, izinkan masuk ke halaman antarmuka Chat
return NextResponse.next();
}
export const config = {
matcher: [
// Terapkan ke semua rute halaman, kecuali aset statis dan API internal
'/((?!api|_next/static|_next/image|favicon.ico).*)',
],
};