Кука запроса в NextJS
Браузер при каждом запросе отправляет
сохраненные куки. В функции прокси они
доступны через объект cookies
у параметра запроса - по имени можно
получить значение или пустой результат,
если куки нет.
Так удобно закрывать личный кабинет:
отсутствие маркера сессии означает,
что показывать защищенную страницу рано.
Давайте прочитаем куку session
и при ее отсутствии отправим пользователя
на /login, иначе пропустим
запрос дальше:
import { NextResponse } from 'next/server';
export function proxy(request) {
let session = request.cookies.get('session');
if (!session) {
return NextResponse.redirect(new URL('/login', request.url));
}
return NextResponse.next();
}
Закройте раздел /account:
при отсутствии куки auth
отправляйте пользователя на страницу
входа.