我是NextJS 和 Next-Auth 的新手。我正在尝试编写一个安全的 api 路由,该路由仅在用户登录时可用。我使用 useSession() 成功访问了客户端的会话,但是当我尝试在 api 路由中实现逻辑时,会话总是返回无效的。我尝试从文档中复制最简单的示例。我错过了什么吗?
我需要访问 Next-Auth/Nextjs 13.4 API 路由中的用户会话数据。我已经配置了 JWT 和 Session 回调;但是,我在回调函数中指定的用户数据不会转换为 getServerSession 在 API 路由中拉取的数据。但是,使用 useSession() 时,会话数据确实正确反映在客户端页面中,因此我不确定问题是什么。
在NEXT.JS与getServerSideProps一起工作时,它接受上下文参数。在执行API请求时,您必须手动添加cookie头。
在NEXT.JS与getServerSideProps一起工作时,它接受上下文参数。在执行API请求时,您必须手动添加cookie头。
import{authOptions}from"../../api/auth/[...nextauth]"import{getToken}from"next-auth/jwt"...
export async function getServerSideProps({ context, }: { context: { req: NextApiRequest; res: NextApiResponse; }; }) { const session = await getServerSession( context?.req, context?.res, authOptions ); console.log(session); // This is returning undefined return { props: { session: ...
我相信你可以简单地从[... nextauth]/route.ts导出authOptions对象,如下所示:
在我的例子中,当NEXTAUTH_URL是127.0.0.1并且向localhost请求API时,会话为空。因此,我通过匹配NEXT...
DATABASE_URL='mysql://database-url' NEXT_PUBLIC_VERCEL_URL=127.0.0.1:3000 NEXTAUTH_SECRET=some-secret NEXTAUTH_URL=http://127.0.0.1:3000 GOOGLE_CLIENT_ID=google-client-id GOOGLE_CLIENT_SECRET=google-client-secret Generate the Prisma client: npx prisma db push && npx prisma generate Run ...
在前面Fayson介绍了《如何使用Shibboleth搭建IDP服务并集成OpenLDAP》和《如何使用SAML配置Cloudera Manager的...