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