Adding the following value for beforeSessionSaved
in my options config option for the Auth0 client solved this problem in the v4 SDK for me:
import { Auth0Client, SessionData } from "@auth0/nextjs-auth0/server";
const createAuth0Client = async (brand: string): Promise<Auth0Client> => {
const optionsConfig: Auth0ClientOptions = {
authorizationParameters: {
audience: 'unity',
},
domain:
process.env[`${brand.toUpperCase()}_AUTH0_DOMAIN`] ||
process.env.AUTH0_DOMAIN as string,
clientId:
process.env[`${brand.toUpperCase()}_AUTH0_CLIENT_ID`] ||
process.env.AUTH0_CLIENT_ID as string,
clientSecret:
process.env[`${brand.toUpperCase()}_AUTH0_CLIENT_SECRET`] ||
process.env.AUTH0_CLIENT_SECRET as string,
appBaseUrl:
process.env[`${brand.toUpperCase()}_APP_BASE_URL`] ||
process.env.APP_BASE_URL as string,
secret:
process.env[`${brand.toUpperCase()}_AUTH0_SECRET`] ||
process.env.AUTH0_SECRET as string,
beforeSessionSaved: async (session: SessionData, idToken: string | null): Promise<SessionData> => ({ ...session }),
};
return new Auth0Client(optionsConfig)
}
export default createAuth0Client;