I have been trying to make this log out with no luck.
I have a mongodb adapter with JWT strategy. Max Age set to 20 seconds so I can have this expire fast and not waste time waiting.
My jwt
and session
callbacks are:
async session({ session, user, token }) {
console.log('session----------', session, user, token)
if (token?.accessToken) {
session.accessToken = token.accessToken
}
if (token?.sub) {
session.user.id = token.sub
}
return session
},
async jwt({ token, user, account, profile, trigger }) {
console.log('jwt------------', token, user, account, profile, trigger)
if (trigger === "signUp") {
await fetch('http://localhost:3000/api/signup', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'x-user-id': user.id
} as HeadersInit
})
console.log('JWT - NEW USER!!')
}
return token
}
Seems like even though my session should be expired, I keep getting in the dev tools that my __Secure-authjs.session-token
expires in 1 month.
I want the session to expire in whatever value I set in
session: {
strategy: "jwt",
maxAge: 20,
},
And also log out the user, so when I try to reach a protected URL (i.e. /secured/dashboard
) I can redirect to a public route (i.e. /dashboard
)
Using
"next": "latest",
"next-auth": "5.0.0-beta.20"