【发布时间】:2022-12-03 06:54:51
【问题描述】:
我使用 NextAuth 与 discord 提供者进行登录,我需要将 userID 添加到会话对象中。为此,我使用会话回调,但用户对象未定义。当我尝试将 userID 添加到会话对象时,出现如下错误:
[下一个授权][错误][JWT_SESSION_ERROR] https://next-auth.js.org/errors#jwt_session_error 无法读取未定义的属性(读取“id”)
确实,用户对象似乎未定义,但我没有任何解决方案。
export default NextAuth({ providers: [ DiscordProvider({ clientId: process.env.DISCORD_CLIENT_ID, clientSecret: process.env.DISCORD_CLIENT_SECRET, authorization: { params: { scope: 'identify' } } }) ], session: { jwt: true }, jwt: { secret: process.env.JWT_SECRET }, callbacks: { async session({session, user}) { session.user.id = user.id return session }, async jwt(token) { return token } } })
【问题讨论】:
-
它很可能会抱怨
session.user未定义,因此当您尝试访问其id属性时会抛出错误。如果你改为session.user = user怎么办?
标签: javascript reactjs next.js jwt next-auth