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 から取得したベアラー トークンを含む認証ヘッダーを含める必要があります。アプリで Google 広告を表示する必要があるため、これをサーバー側で実行したいと考えています。これどうやってするの? </p>
<p>私のlayout.tsxはこんな感じです</p>
<pre class="brush:php;toolbar:false;">import "./globals.css";
「次」からタイプ { メタデータ } をインポートします。
「next/font/google」から { Inter } をインポートします。
「../components/Sidebar」からサイドバーをインポートします。
const inter = Inter({ サブセット: ["latin"] });
const メタデータのエクスポート: メタデータ = {
タイトル: 「次のアプリを作成する」,
説明: "次のアプリの作成によって生成",
};
デフォルト関数をエクスポート RootLayout({
子供たち、
}: {
子: React.ReactNode;
}) {
戻る (
<html lang="da" className="h-full bg-gray-100">
<body className="h-full bg-gray-100">
<サイドバー/>
{子供たち}
</ボディ>
</html>
);
}</pre>
<p><br /></p>
サーバー側からローカルストレージにアクセスすることはできません。ただし、Cookie を使用することはできます。セキュリティ上の理由から、http のみの Cookie を設定してください。したがって、http 専用 Cookie を設定するには、認証後に POST リクエストを行う必要があります。