Я мог бы сделать это с помощью X-заголовков, но я хочу отправить пользовательские данные, и они слишком конфиденциальны, чтобы отправлять их в заголовках. Я уже думал об отправке только идентификатора и о том, чтобы пользователь получал от него API, но это был бы двойной запрос (та же проблема, что и сейчас, дважды получая /user/me).
Решит ли проблему создание маршрутов API? Я также готов изменить свою логику (удалить промежуточное программное обеспечение или что-то еще).
Вот мое фактическое промежуточное программное обеспечение:
import { NextRequest, NextResponse } from "next/server";
import { getLoginUser } from "./lib/api/user/getLoginUser";
export default async function middleware(req: NextRequest) {
const url = req.nextUrl.pathname;
const cookies = req.cookies;
const user = await getLoginUser(cookies);
console.log(`
if (user) {
console.log("
if (url.includes("auth")) {
console.log("
return NextResponse.redirect(new URL("/dashboard", req.url));
}
return NextResponse.next();
} else {
console.log("
if (!url.includes("auth")) {
return NextResponse.redirect(new URL("/auth/signin", req.url));
}
}
}
export const config = {
matcher:
"/((?!api|_next/static|_next/image|favicon.ico|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)",
};
Подробнее здесь: https://stackoverflow.com/questions/798 ... -component
Мобильная версия