Ich möchte den App-Router mit nextjs verwenden und bin auf ein Problem gestoßen. Damit meine Anwendung funktioniert, muss ich /api/auth/me aufrufen, um einen Benutzer zurückzugeben, oder null, wenn ich nicht angemeldet bin. Dazu muss ich einen Autorisierungsheader mit dem von localStorage erhaltenen Bearer-Token in api.get("/api/auth/me") in Axios einfügen. Ich möchte dies serverseitig tun, da meine App Google-Anzeigen anzeigen muss. Wie kann ich das machen?
Meine layout.tsx sieht so aus
import "./globals.css"; import type { Metadata } from „next“; import { Inter } from „next/font/google“; Importieren Sie die Seitenleiste aus „../components/Sidebar“; const inter = Inter({ subsets: ["latin"] }); Konstante Metadaten exportieren: Metadata = { Titel: „Nächste App erstellen“, Beschreibung: „Erstellt durch „Nächste App erstellen““ }; Exportieren Sie die Standardfunktion RootLayout({ Kinder, }: { Kinder: React.ReactNode; }) { zurückkehren ({Kinder} ); }
您无法从服务器端访问本地存储。但是,您可以使用cookie。出于安全考虑,请设置http-only cookie。因此,您需要在身份验证后进行一次POST请求以设置http-only cookie。