NL3*_*294 4 authentication server-side-rendering next.js next-auth next.js13
next-auth(版本 4)的文档表明我们需要将服务提供者放入:
pages/_app.js
Run Code Online (Sandbox Code Playgroud)
我正在关注以下示例: https: //next-auth.js.org/getting-started/example
如果我使用实验性应用程序目录而不是 nextjs 13 中的页面目录,我们应该将 _app.js 文件放在哪里?
不幸的是,您必须有两个实现。
在实验应用程序目录中,您必须包装根布局。
// app/provider.js
"use client";
import { SessionProvider } from "next-auth/react";
export default function Proiders({ children }) {
return <SessionProvider>{children}</SessionProvider>;
}
Run Code Online (Sandbox Code Playgroud)
然后在根布局中
import Provider from "./provider";
export default function RootLayout({ children }) {
return (
<html>
<head />
<body>
<Provider>{children}</Provider>
</body>
</html>
);
}
Run Code Online (Sandbox Code Playgroud)
_app.js同样你也必须包裹
import { SessionProvider } from "next-auth/react"
export default function App({
Component,
pageProps: { session, ...pageProps },
}) {
return (
<SessionProvider session={session}>
<Component {...pageProps} />
</SessionProvider>
)
}
Run Code Online (Sandbox Code Playgroud)
api 文件是同一目录。pages/api/auth/[...nextauth].js
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |