当一切设置正确时,我似乎无法从我的 session.user(next-auth) 中获取 id。这是我的一些代码。
/API/getId/index.ts 在下面的代码中,我试图通过 getServerSession 访问我的会话,实际上我确实完整地恢复了我的会话。但是,当我尝试在会话中访问 user.id 时,出现以下错误
属性 'id' 不存在于类型 '{ name?: string |空 |不明确的;电子邮件?:字符串|空 |不明确的;图片?:字符串 |空 |不明确的; }'.
import { NextApiRequest, NextApiResponse } from "next";
import { getServerSession } from "next-auth";
import { authOptions } from "../../auth/[...nextauth]";
import Prisma from '../../../../libs/prismadb'
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
try{
const session = await getServerSession(req, res, authOptions)
console.log(session?.user.id, '1')
if(session?.user){
// const admin = await Prisma.owner.findUnique({
// where: {
// id: session?.user?.id
// }
// })
console.log(session, '2')
}
res.status(200).json({session})
}catch(err: any){
throw new Error(err)
}
}
但它确实存在于那种类型
export interface DefaultSession {
user?: {
name?: string | null
email?: string | null
image?: string | null
id?: string | null
}
expires: ISODateString
}
我尝试重新启动我的打字稿服务器,甚至重新启动 vscode,但似乎没有任何效果。即使当我尝试 console.log(session) 时,我也看到 id 确实存在于用户对象中。如果你知道哪里出了问题,请帮忙,因为这是我正在进行的一个大项目,我不能落后于它