mirror of
https://github.com/woodchen-ink/Q58Connect.git
synced 2025-07-18 14:01: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({
|
export const { handlers, auth, signIn, signOut } = NextAuth({
|
||||||
adapter: PrismaAdapter(prisma),
|
adapter: PrismaAdapter(prisma),
|
||||||
session: {
|
session: { strategy: "jwt" },
|
||||||
strategy: "jwt",
|
|
||||||
maxAge: 30 * 24 * 60 * 60, // 30 days
|
|
||||||
updateAge: 24 * 60 * 60, // 24 hours
|
|
||||||
},
|
|
||||||
pages: {
|
pages: {
|
||||||
signIn: "/sign-in",
|
signIn: "/sign-in",
|
||||||
},
|
},
|
||||||
@ -46,22 +42,7 @@ export const { handlers, auth, signIn, signOut } = NextAuth({
|
|||||||
session.user.name = token.name;
|
session.user.name = token.name;
|
||||||
return session;
|
return session;
|
||||||
},
|
},
|
||||||
async jwt({ token, user, trigger, session }) {
|
async jwt({ token }) {
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!token.sub) return token;
|
if (!token.sub) return token;
|
||||||
|
|
||||||
const dbUser = await getUserById(token.sub);
|
const dbUser = await getUserById(token.sub);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user