我想使用nextjs使用app router,并且我遇到了一个问题。为了使我的应用程序正常工作,我需要调用/api/auth/me来返回一个用户,如果未登录则返回null。为此,我需要在axios的api.get("/api/auth/me")中包含一个带有从localStorage获取的bearer令牌的授权头。我想在服务器端执行此操作,因为我需要我的应用程序显示Google广告。我该如何做到这一点?
我的layout.tsx看起来像这样
import "./globals.css"; import type { Metadata } from "next"; import { Inter } from "next/font/google"; import Sidebar from "../components/Sidebar"; const inter = Inter({ subsets: ["latin"] }); export const metadata: Metadata = { title: "Create Next App", description: "Generated by create next app", }; export default function RootLayout({ children, }: { children: React.ReactNode; }) { return ({children} ); }
您无法从服务器端访问本地存储。但是,您可以使用cookie。出于安全考虑,请设置http-only cookie。因此,您需要在身份验证后进行一次POST请求以设置http-only cookie。