Передача пользовательских данных из промежуточного программного обеспечения NextJS в клиентский компонентJavascript

Форум по Javascript
Ответить
Anonymous
 Передача пользовательских данных из промежуточного программного обеспечения NextJS в клиентский компонент

Сообщение Anonymous »

Я хочу передать данные из промежуточного программного обеспечения NextJS в клиентский компонент. Я использую NextJS для внешнего интерфейса и Express API для внутреннего интерфейса.
Я мог бы сделать это с помощью 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(`🔐 AuthMiddleware - URL: ${url}, user: ${user}`);

if (user) {
console.log("✅ Middleware: Utilisateur déjà authentifié");

if (url.includes("auth")) {
console.log("🔄 Redirection vers le tableau de bord");
return NextResponse.redirect(new URL("/dashboard", req.url));
}

return NextResponse.next();
} else {
console.log("❌ Middleware: Utilisateur non authentifié");

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»