The*_*heo 8 javascript jwt reactjs next.js next-auth
我使用 NextAuth 与不和谐提供程序进行登录,并且需要将 userID 添加到会话对象中。为此,我使用会话回调,但用户对象未定义。当我尝试将 userID 添加到会话对象时,出现如下错误:
[next-auth][错误][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
}
}
})
Run Code Online (Sandbox Code Playgroud)
你可以这样做
providers: [
Github({
clientId: process.env.GITHUB_ID,
clientSecret:process.env.GITHUB_SECRET,
})
],
database :process.env.DB_URL,
session:{
jwt:true
},
adapter: MongoDBAdapter(clientPromise, {
databaseName: 'AuthDb'
}),
jwt:{
secret: 'secretCode',
},
callbacks:{
async jwt({token,user}){
if(user){
token.id = user.id
}
return token
},
async session(session,token) {
session.user.id =token.id
return session
}
},
}); ```
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12663 次 |
| 最近记录: |