小编Mat*_*ell的帖子

使用 NextJs 和 Next-Auth 时,getServerSession() 在 api 路由中返回 null

我是 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)

next.js next-auth

6
推荐指数
2
解决办法
4358
查看次数

标签 统计

next-auth ×1

next.js ×1