在服务器端如何使用 NextJS AppRouter 获取 /api/auth/me
P粉883223328
2023-08-15 13:04:07
<p>我想使用nextjs使用app router,并且我遇到了一个问题。为了使我的应用程序正常工作,我需要调用/api/auth/me来返回一个用户,如果未登录则返回null。为此,我需要在axios的api.get("/api/auth/me")中包含一个带有从localStorage获取的bearer令牌的授权头。我想在服务器端执行此操作,因为我需要我的应用程序显示Google广告。我该如何做到这一点?</p>
<p>我的layout.tsx看起来像这样</p>
<pre class="brush:php;toolbar:false;">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 (
<html lang="da" className="h-full bg-gray-100">
<body className="h-full bg-gray-100">
<Sidebar />
{children}
</body>
</html>
);
}</pre>
<p><br /></p>
您无法从服务器端访问本地存储。但是,您可以使用cookie。出于安全考虑,请设置http-only cookie。因此,您需要在身份验证后进行一次POST请求以设置http-only cookie。