Skip to main content

How to use

Use the override config#

import SuperTokens from "supertokens-node";import ThirdPartyEmailPassword from "supertokens-node/recipe/thirdpartyemailpassword";
SuperTokens.init({    appInfo: {        apiDomain: "...",        appName: "...",        websiteDomain: "..."    },    supertokens: {        connectionURI: "...",    },    recipeList: [        ThirdPartyEmailPassword.init({            override: {                functions: (originalImplementation) => {                    return {                        ...originalImplementation,
                        // here we are only overriding the function that's responsible                        // for signing in or signing up a user.                        thirdPartySignInUp: async function (input) {                            // TODO: some custom logic
                            // or call the default behaviour as show below                            return await originalImplementation.thirdPartySignInUp(input);                        },                        // ...                        // TODO: override more functions                    }                },                emailVerificationFeature: {                    functions: (originalImplementationEmailVerification) => {                        return {                            ...originalImplementationEmailVerification,                            isEmailVerified: async function (input) {                                // TODO: some custom logic
                                // or call the default behaviour as show below                                return await originalImplementationEmailVerification.isEmailVerified(input);                            },                            // ...                            // TODO: override more functions                        }                    }                }            }        })    ]});
  • originalImplementation and originalImplementationEmailVerification are objects that contain functions that have the original implementation for this and the email verification recipe. They can be used in your functions as a way to use the SuperTokens' default behaviour.
  • In the above code snippet, we override the signInUp function of this recipe. This function will be used to handle the scenario where a user either signs up or signs in via any third party provider or via email and password.
  • Likewise, we override the isEmailVerified function for the email verification recipe.