TypeError: req.session.touch is not a function with Next.js 13.1.1
smurf-ss opened this issue · 4 comments
smurf-ss commented
brc-dd commented
Can you share relevant code?
smurf-ss commented
dlstjq7685 commented
@smurf-ss
i found next13 api components solutions.
try this code.
`/api/login.ts`
import { NextApiRequest } from 'next'
import { User, sessionOptions } from '@/utils/session'
import { getIronSession } from 'iron-session';
export async function GET(req: NextApiRequest) {
const res = new Response("Hello, Next.js!")
console.log("connect to login route")
const session = await getIronSession(req, res, sessionOptions);
console.log("before ", session, session.user === undefined)
if (session.user === undefined) {
console.log("set user")
const user = { isLoggedIn: true, login: "sample user", avatarUrl: "avatar_url" } as User
session.user = user
await session.save()
}
console.log("after ", session)
return res
}
`user.ts`
export type User = {
isLoggedIn: boolean
login: string
avatarUrl: string
}
vvo commented
Hey there, iron-session v8 is live now 👍 https://github.com/vvo/iron-session and compatible with app router. We even have demos: https://get-iron-session.vercel.app/
Good luck.