refactor: Simplify NextAuth JWT and session configuration

This commit is contained in:
wood chen 2025-02-21 22:47:35 +08:00
parent cd62f1589f
commit d1c94e8300

View File

@ -7,11 +7,7 @@ import { prisma } from "./lib/prisma";
export const { handlers, auth, signIn, signOut } = NextAuth({
adapter: PrismaAdapter(prisma),
session: {
strategy: "jwt",
maxAge: 30 * 24 * 60 * 60, // 30 days
updateAge: 24 * 60 * 60, // 24 hours
},
session: { strategy: "jwt" },
pages: {
signIn: "/sign-in",
},
@ -46,22 +42,7 @@ export const { handlers, auth, signIn, signOut } = NextAuth({
session.user.name = token.name;
return session;
},
async jwt({ token, user, trigger, session }) {
if (trigger === "update" && session) {
// 当收到更新触发时,重新获取用户信息
const dbUser = await getUserById(token.sub!);
if (dbUser) {
token.username = dbUser.username;
token.email = dbUser.email;
token.picture = dbUser.avatarUrl;
token.name = dbUser.name;
token.role = dbUser.role;
token.moderator = dbUser.moderator;
token.groups = dbUser.groups;
}
return token;
}
async jwt({ token }) {
if (!token.sub) return token;
const dbUser = await getUserById(token.sub);