After getting a few new values and the session is created you can still modify the session.

At the client:

import { useSession } from "next-auth/react";
...
//inside of the component
const { data: session, update } = useSession()
//after getting the new value
update({ variableName: varValue })

Update triggers a callback in NextAuth ([…nextauth] file):

...
callbacks: {
async jwt({ token, trigger, user, session, account, profile, isNewUser }) {
if (trigger === "update" && session.variableName) {
token.access_token = session.variableName
}
...

Now the session has been updated

Source