mirror of
https://github.com/woodchen-ink/Q58Connect.git
synced 2025-07-18 05:51:55 +08:00
refactor: Simplify NextAuth JWT and session configuration
This commit is contained in:
parent
cd62f1589f
commit
d1c94e8300
23
src/auth.ts
23
src/auth.ts
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user