我是 NextJS 和 Next-Auth 的新手。我正在尝试编写一个安全的 api 路由,该路由仅在用户登录时可用。我使用 useSession() 成功访问了客户端的会话,但是当我尝试在 api 路由中实现逻辑时,会话总是返回无效的。我尝试从文档中复制最简单的示例。我错过了什么吗?
这是我在 src/pages/api/users/getUser.ts 中的路线:
import { getServerSession } from 'next-auth/next'
import { authOptions } from '../auth/[...nextauth]'
import { NextApiRequest, NextApiResponse } from 'next'
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
const session = await getServerSession(req, res, authOptions)
console.log('session', session)
if (session) {
res.send({ content: 'SUCCESS' })
} else {
res.send({ error: 'ERROR' })
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在 src/pages/api/auth/[...nextauth].ts 中的 authOptions
import NextAuth from 'next-auth'
import GithubProvider from 'next-auth/providers/github'
import …Run Code Online (Sandbox Code Playgroud)