NextAuth中JWT回调执行后Session回调未触发的问题求助
NextAuth中JWT回调执行后Session回调未触发的问题求助
各位大佬好,我在使用NextAuth时碰到了一个头疼的问题:代码里的JWT回调能正常执行,甚至在回调里console.log(token)都能输出预期内容,但Session回调完全没被调用,根本看不到里面的日志输出。
我已经尝试过直接返回未修改的token,不做任何字段添加,但Session回调还是没触发,实在找不到原因了。下面是我的完整代码:
import NextAuth from "next-auth/next" import Credentials from "next-auth/providers/credentials" export const authOptions = { providers:[ Credentials({ name:"Credentials", credentials:{ uid:{label:"uid",type:"text"}, password:{label:"password",type:"text"} }, async authorize(credentials,req){ try{ return { uid:123, role:"user" } }catch(e){ console.log(e) } } }) ], secret:process.env.NEXTAUTH_SECRET, session:{ jwt:true }, callbacks:{ async session({ session, user, token }) { console.log("this") console.log(session); if (token) { session.user.uid = token.uid; session.user.role = token.role; } return session; }, async jwt({ token, user ,session}) { token.uid = user.uid; token.role = user.role; console.log(token); //working perfectly till here return token; }, async signIn({account,profile,user}){ if(account.provider === "credentials" && user){ return true } return false } } } const handler = NextAuth(authOptions) export {handler as GET,handler as POST}
有没有大佬能帮我分析下问题出在哪?
备注:内容来源于stack exchange,提问作者Arjav
相关产品推荐
相关产品推荐

