This is the entire backend config: { supertokens: { connectionURI: process.env.SUPERTOKENS_DOMAIN as string, apiKey: process.env.SUPERTOKENS_API_KEY as string, }, appInfo, recipeList: [ ThirdPartyEmailPasswordNode.init({ override: { apis: (originalImplementation) => { return { ...originalImplementation, signInUpPOST: async (input) => { // @ts-ignore const response = await originalImplementation.signInUpPOST( input ) if (response.status === "OK") { const { id, email } = response.user if (response.createdNewUser) { // New user was created await fetchApi(`${websiteDomain}/api/users/create`, { id, email, }) Sentry.addBreadcrumb({ category: "auth", message: "Registered user " + email, level: Sentry.Severity.Info, }) } else { // We authenticated an existing user Sentry.addBreadcrumb({ category: "auth", message: "Authenticated user " + email, level: Sentry.Severity.Info, }) } } return response }, } }, }, emailVerificationFeature: { createAndSendCustomEmail: async ( user, emailVerificationURLWithToken ) => { const { id } = user await fetchApi(`${websiteDomain}/api/users/email`, { action: "confirmation", user_id: id, url: emailVerificationURLWithToken, }) }, }, resetPasswordUsingTokenFeature: { createAndSendCustomEmail: async (user, passwordResetURLWithToken) => { const { id } = user await fetchApi(`${websiteDomain}/api/users/email`, { action: "reset", user_id: id, url: passwordResetURLWithToken, }) }, }, providers: [ ThirdPartyEmailPasswordNode.Google({ clientSecret: process.env.GOOGLE_CLIENT_SECRET as string, clientId: process.env.GOOGLE_CLIENT_ID as string, }), ThirdPartyEmailPasswordNode.Facebook({ clientSecret: process.env.FACEBOOK_CLIENT_SECRET as string, clientId: process.env.FACEBOOK_CLIENT_ID as string, }), ], }), SessionNode.init({ cookieSameSite }), ], isInServerlessEnv: true, }