import { RequestCookies } from '@edge-runtime/cookies';
import { jwtVerify } from 'jose';
export const config = {
matcher: '/',
};
export default async function middleware(request) {
try {
const cookies = new RequestCookies(request.headers)
const sessionCookie = cookies.get('session');
if (!sessionCookie) return auth(request)
await jwtVerify(
sessionCookie.value,
new TextEncoder().encode(process.env.JWT_SIGNING_KEY)
);
} catch (e) {
console.error(e)
return auth(request)
}
}
function auth(request) {
return Response.redirect(new URL('/auth', request.url), 303);
}