xxxxxxxxxx
callbacks: {
jwt: async (token, user, account, profile, isNewUser) => {
// "user" parameter is the object received from "authorize"
// "token" is being send below to "session" callback...
// ...so we set "user" param of "token" to object from "authorize"...
// ...and return it...
user && (token.user = user);
return Promise.resolve(token) // ...here
},
session: async (session, user, sessionToken) => {
// "session" is current session object
// below we set "user" param of "session" to value received from "jwt" callback
session.user = user.user;
return Promise.resolve(session)
}
}
xxxxxxxxxx
import { getServerSession } from "next-auth/next"
export async function handler(req, res) {
const session = await getServerSession(req, res, authOptions)
if (!session) {
res.status(401).json({ message: "You must be logged in." });
return;
}
return res.json({
message: 'Success',
})
}
xxxxxxxxxx
// pages/api/auth/[...nextauth].ts
export default async function auth(req: NextApiRequest, res: NextApiResponse) {•
return await NextAuth(req, res, {•
providers: [ ],•
session: {•
strategy: "jwt",•
},•
cookies: cookies,•
callbacks: { },•
});•
}