# SuperTokens Docs > Open Source User Authentication ## Docs - [Introduction](https://docs-topaz-pi.vercel.app/docs): Add secure, customizable authentication and session management to your applications with SuperTokens. - [Quickstart Guide](https://docs-topaz-pi.vercel.app/docs/quickstart): Add SuperTokens authentication to your frontend and backend, then prepare the integration for production. - [Integrate with AI](https://docs-topaz-pi.vercel.app/docs/integrate-with-ai): Use SuperTokens documentation directly in AI chat and coding tools. ## References - [References](https://docs-topaz-pi.vercel.app/docs/references): Explore SuperTokens concepts, APIs, and advanced customization options for authentication integration. - [Update Guide](https://docs-topaz-pi.vercel.app/docs/references/updating-supertokens): Update SuperTokens core and SDKs to maintain compatibility and access new features. ### Plugins - [Introduction](https://docs-topaz-pi.vercel.app/docs/references/plugins/introduction): Extend SuperTokens functionality with official plugins for enhanced authentication features. - [@supertokens-plugins/captcha-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/captcha-nodejs): Public root exports for @supertokens-plugins/captcha-nodejs 0.2.1. - [@supertokens-plugins/captcha-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/captcha-react): Public root exports for @supertokens-plugins/captcha-react 0.3.1. - [@supertokens-plugins/opentelemetry-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/opentelemetry-nodejs): Public root exports for @supertokens-plugins/opentelemetry-nodejs 0.1.2. - [@supertokens-plugins/profile-base-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/profile-base-react): Public root exports for @supertokens-plugins/profile-base-react 0.1.0. - [@supertokens-plugins/profile-details-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/profile-details-nodejs): Public root exports for @supertokens-plugins/profile-details-nodejs 0.1.0. - [@supertokens-plugins/profile-details-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/profile-details-react): Public root exports for @supertokens-plugins/profile-details-react 0.1.0. - [@supertokens-plugins/progressive-profiling-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/progressive-profiling-nodejs): Public root exports for @supertokens-plugins/progressive-profiling-nodejs 0.3.0. - [@supertokens-plugins/progressive-profiling-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/progressive-profiling-react): Public root exports for @supertokens-plugins/progressive-profiling-react 0.3.1. - [@supertokens-plugins/tenant-discovery-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/tenant-discovery-nodejs): Public root exports for @supertokens-plugins/tenant-discovery-nodejs 0.2.1. - [@supertokens-plugins/tenant-discovery-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/tenant-discovery-react): Public root exports for @supertokens-plugins/tenant-discovery-react 0.1.0. - [@supertokens-plugins/tenants-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/tenants-nodejs): Public root exports for @supertokens-plugins/tenants-nodejs 0.2.0. - [@supertokens-plugins/tenants-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/tenants-react): Public root exports for @supertokens-plugins/tenants-react 0.2.0. - [@supertokens-plugins/user-banning-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/user-banning-nodejs): Public root exports for @supertokens-plugins/user-banning-nodejs 0.2.1. - [@supertokens-plugins/user-banning-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/user-banning-react): Public root exports for @supertokens-plugins/user-banning-react 0.2.1. ### Frontend SDKs - [Reference](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/reference): Override frontend authentication functions using SuperTokens for custom session and user sign-up logic. - [Function Overrides](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/function-overrides): Override frontend authentication functions to implement custom use cases. - [Hooks](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/hooks): Handle user actions for logging, analytics, or side effects using the Handle Event Hook. #### React SDK Reference - [supertokens-auth-react](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/package): References documentation for the supertokens-auth-react package - [supertokens-auth-react/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/types): References documentation for the supertokens-auth-react/types package - [supertokens-auth-react/recipe/emailpassword](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-emailpassword): References documentation for the supertokens-auth-react/recipe/emailpassword package - [supertokens-auth-react/recipe/emailpassword/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-emailpassword-types): References documentation for the supertokens-auth-react/recipe/emailpassword/types package - [supertokens-auth-react/recipe/emailverification](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-emailverification): References documentation for the supertokens-auth-react/recipe/emailverification package - [supertokens-auth-react/recipe/emailverification/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-emailverification-types): References documentation for the supertokens-auth-react/recipe/emailverification/types package - [supertokens-auth-react/recipe/multifactorauth](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-multifactorauth): References documentation for the supertokens-auth-react/recipe/multifactorauth package - [supertokens-auth-react/recipe/multifactorauth/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-multifactorauth-types): References documentation for the supertokens-auth-react/recipe/multifactorauth/types package - [supertokens-auth-react/recipe/multitenancy](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-multitenancy): References documentation for the supertokens-auth-react/recipe/multitenancy package - [supertokens-auth-react/recipe/multitenancy/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-multitenancy-types): References documentation for the supertokens-auth-react/recipe/multitenancy/types package - [supertokens-auth-react/recipe/oauth2provider](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-oauth2provider): References documentation for the supertokens-auth-react/recipe/oauth2provider package - [supertokens-auth-react/recipe/oauth2provider/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-oauth2provider-types): References documentation for the supertokens-auth-react/recipe/oauth2provider/types package - [supertokens-auth-react/recipe/passwordless](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-passwordless): References documentation for the supertokens-auth-react/recipe/passwordless package - [supertokens-auth-react/recipe/passwordless/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-passwordless-types): References documentation for the supertokens-auth-react/recipe/passwordless/types package - [supertokens-auth-react/recipe/session](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-session): References documentation for the supertokens-auth-react/recipe/session package - [supertokens-auth-react/recipe/session/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-session-types): References documentation for the supertokens-auth-react/recipe/session/types package - [supertokens-auth-react/recipe/thirdparty](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-thirdparty): References documentation for the supertokens-auth-react/recipe/thirdparty package - [supertokens-auth-react/recipe/thirdparty/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-thirdparty-types): References documentation for the supertokens-auth-react/recipe/thirdparty/types package - [supertokens-auth-react/recipe/totp](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-totp): References documentation for the supertokens-auth-react/recipe/totp package - [supertokens-auth-react/recipe/totp/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-totp-types): References documentation for the supertokens-auth-react/recipe/totp/types package - [supertokens-auth-react/recipe/userroles](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-userroles): References documentation for the supertokens-auth-react/recipe/userroles package - [supertokens-auth-react/recipe/webauthn](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-webauthn): References documentation for the supertokens-auth-react/recipe/webauthn package - [supertokens-auth-react/recipe/webauthn/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-auth-react/recipe-webauthn-types): References documentation for the supertokens-auth-react/recipe/webauthn/types package #### User Interface - [Change colours](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/prebuilt-ui/changing-colours): Customize your authentication UI theme by defining CSS variables for color palettes. - [Change styles via CSS](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/prebuilt-ui/changing-style): Change UI component styles using CSS. - [Override React components](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/prebuilt-ui/override-react-components): Learn to replace and enhance specific components rendered by SuperTokens. - [Embed the authentication form in a page](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/prebuilt-ui/embed-sign-in-up-form): Embed authentication forms in your page using SuperTokens with redirection and popup options. - [Disable use of shadow DOM](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/prebuilt-ui/shadow-dom): Disable Shadow DOM to customize CSS and improve password manager compatibility. - [Terms of service & Privacy policy links](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/prebuilt-ui/toc-privacypolicy): Add Terms of Service and Privacy Policy links to your sign-up page. - [Language Translation for the UI](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/prebuilt-ui/translations): Translate your UI by providing custom translation strings or integrating with an internationalization library. - [UI showcase](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/prebuilt-ui/ui-showcase): Discover the UI exposed by the pre-built UI for each authentication flow and recipe. #### Javascript SDK Reference - [supertokens-web-js](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/package): References documentation for the supertokens-web-js package - [supertokens-web-js/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/types): References documentation for the supertokens-web-js/types package - [supertokens-web-js/recipe/emailpassword](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-emailpassword): References documentation for the supertokens-web-js/recipe/emailpassword package - [supertokens-web-js/recipe/emailpassword/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-emailpassword-types): References documentation for the supertokens-web-js/recipe/emailpassword/types package - [supertokens-web-js/recipe/emailverification](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-emailverification): References documentation for the supertokens-web-js/recipe/emailverification package - [supertokens-web-js/recipe/emailverification/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-emailverification-types): References documentation for the supertokens-web-js/recipe/emailverification/types package - [supertokens-web-js/recipe/multifactorauth](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-multifactorauth): References documentation for the supertokens-web-js/recipe/multifactorauth package - [supertokens-web-js/recipe/multifactorauth/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-multifactorauth-types): References documentation for the supertokens-web-js/recipe/multifactorauth/types package - [supertokens-web-js/recipe/multitenancy](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-multitenancy): References documentation for the supertokens-web-js/recipe/multitenancy package - [supertokens-web-js/recipe/multitenancy/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-multitenancy-types): References documentation for the supertokens-web-js/recipe/multitenancy/types package - [supertokens-web-js/recipe/oauth2provider](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-oauth2provider): References documentation for the supertokens-web-js/recipe/oauth2provider package - [supertokens-web-js/recipe/oauth2provider/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-oauth2provider-types): References documentation for the supertokens-web-js/recipe/oauth2provider/types package - [supertokens-web-js/recipe/passwordless](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-passwordless): References documentation for the supertokens-web-js/recipe/passwordless package - [supertokens-web-js/recipe/passwordless/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-passwordless-types): References documentation for the supertokens-web-js/recipe/passwordless/types package - [supertokens-web-js/recipe/session](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-session): References documentation for the supertokens-web-js/recipe/session package - [supertokens-web-js/recipe/session/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-session-types): References documentation for the supertokens-web-js/recipe/session/types package - [supertokens-web-js/recipe/thirdparty](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-thirdparty): References documentation for the supertokens-web-js/recipe/thirdparty package - [supertokens-web-js/recipe/thirdparty/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-thirdparty-types): References documentation for the supertokens-web-js/recipe/thirdparty/types package - [supertokens-web-js/recipe/totp](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-totp): References documentation for the supertokens-web-js/recipe/totp package - [supertokens-web-js/recipe/totp/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-totp-types): References documentation for the supertokens-web-js/recipe/totp/types package - [supertokens-web-js/recipe/userroles](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-userroles): References documentation for the supertokens-web-js/recipe/userroles package - [supertokens-web-js/recipe/webauthn](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-webauthn): References documentation for the supertokens-web-js/recipe/webauthn package - [supertokens-web-js/recipe/webauthn/types](https://docs-topaz-pi.vercel.app/docs/references/frontend-sdks/supertokens-web-js/recipe-webauthn-types): References documentation for the supertokens-web-js/recipe/webauthn/types package ### Backend SDKs - [Reference](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/reference): Override frontend authentication functions using SuperTokens for custom session and user sign-up logic. - [Function Overrides](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/function-overrides): Override backend authentication functions to cover custom use cases. - [API Overrides](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/api-overrides): Override APIs to control frontend-backend interactions and customize input/output specifications. - [User Context](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/user-context): Pass information across API functions using user context for custom execution scenarios. - [User Object](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/user-object): User Object page explains user structure, primary vs recipe user IDs, and account linking. - [Network interceptor](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/backend-sdk-core-interceptor): Intercept and modify outgoing backend SDK requests to the core in NodeJS, Python, and GoLang. - [Supporting other backend frameworks](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/other-frameworks): Set up an authentication server with SuperTokens for unsupported backend frameworks. #### Node.js SDK Reference - [supertokens-node](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/package): References documentation for the supertokens-node package - [supertokens-node/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/types): References documentation for the supertokens-node/types package - [supertokens-node/recipe/emailpassword](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-emailpassword): References documentation for the supertokens-node/recipe/emailpassword package - [supertokens-node/recipe/emailpassword/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-emailpassword-types): References documentation for the supertokens-node/recipe/emailpassword/types package - [supertokens-node/recipe/passwordless](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-passwordless): References documentation for the supertokens-node/recipe/passwordless package - [supertokens-node/recipe/passwordless/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-passwordless-types): References documentation for the supertokens-node/recipe/passwordless/types package - [supertokens-node/recipe/thirdparty](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-thirdparty): References documentation for the supertokens-node/recipe/thirdparty package - [supertokens-node/recipe/thirdparty/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-thirdparty-types): References documentation for the supertokens-node/recipe/thirdparty/types package - [supertokens-node/recipe/webauthn](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-webauthn): References documentation for the supertokens-node/recipe/webauthn package - [supertokens-node/recipe/webauthn/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-webauthn-types): References documentation for the supertokens-node/recipe/webauthn/types package - [supertokens-node/recipe/emailverification](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-emailverification): References documentation for the supertokens-node/recipe/emailverification package - [supertokens-node/recipe/emailverification/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-emailverification-types): References documentation for the supertokens-node/recipe/emailverification/types package - [supertokens-node/recipe/multifactorauth](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-multifactorauth): References documentation for the supertokens-node/recipe/multifactorauth package - [supertokens-node/recipe/multifactorauth/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-multifactorauth-types): References documentation for the supertokens-node/recipe/multifactorauth/types package - [supertokens-node/recipe/accountlinking](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-accountlinking): References documentation for the supertokens-node/recipe/accountlinking package - [supertokens-node/recipe/accountlinking/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-accountlinking-types): References documentation for the supertokens-node/recipe/accountlinking/types package - [supertokens-node/recipe/jwt](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-jwt): References documentation for the supertokens-node/recipe/jwt package - [supertokens-node/recipe/jwt/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-jwt-types): References documentation for the supertokens-node/recipe/jwt/types package - [supertokens-node/recipe/multitenancy](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-multitenancy): References documentation for the supertokens-node/recipe/multitenancy package - [supertokens-node/recipe/multitenancy/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-multitenancy-types): References documentation for the supertokens-node/recipe/multitenancy/types package - [supertokens-node/recipe/dashboard](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-dashboard): References documentation for the supertokens-node/recipe/dashboard package - [supertokens-node/recipe/dashboard/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-dashboard-types): References documentation for the supertokens-node/recipe/dashboard/types package - [supertokens-node/recipe/oauth2provider](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-oauth2provider): References documentation for the supertokens-node/recipe/oauth2provider package - [supertokens-node/recipe/oauth2provider/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-oauth2provider-types): References documentation for the supertokens-node/recipe/oauth2provider/types package - [supertokens-node/recipe/openid](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-openid): References documentation for the supertokens-node/recipe/openid package - [supertokens-node/recipe/openid/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-openid-types): References documentation for the supertokens-node/recipe/openid/types package - [supertokens-node/recipe/userroles](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-userroles): References documentation for the supertokens-node/recipe/userroles package - [supertokens-node/recipe/userroles/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-userroles-types): References documentation for the supertokens-node/recipe/userroles/types package - [supertokens-node/recipe/usermetadata](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-usermetadata): References documentation for the supertokens-node/recipe/usermetadata package - [supertokens-node/recipe/usermetadata/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-usermetadata-types): References documentation for the supertokens-node/recipe/usermetadata/types package - [supertokens-node/recipe/totp](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-totp): References documentation for the supertokens-node/recipe/totp package - [supertokens-node/recipe/totp/types](https://docs-topaz-pi.vercel.app/docs/references/backend-sdks/supertokens-nodejs/recipe-totp-types): References documentation for the supertokens-node/recipe/totp/types package ### Frontend Driver Interface - [Frontend Driver Interface](https://docs-topaz-pi.vercel.app/docs/references/fdi) - [Introduction](https://docs-topaz-pi.vercel.app/docs/references/fdi/introduction): Access detailed API specifications for integrating with SuperTokens Core and frontend SDKs. #### App API - [Test authentication](https://docs-topaz-pi.vercel.app/docs/references/fdi/app-api/exampleappapi) #### EmailPassword Recipe - [Check email exists](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailpassword-recipe/emailexists) - [Check email exists (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailpassword-recipe/emailexistsdepr) - [Generate password reset token](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailpassword-recipe/passwordresettoken) - [Reset user password](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailpassword-recipe/passwordreset) - [Sign in with email](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailpassword-recipe/signin) - [Sign up with email](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailpassword-recipe/signup) #### EmailVerification Recipe - [Check email verification status](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailverification-recipe/getverifyemail) - [Send email verification](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailverification-recipe/verifyemailtoken) - [Verify email address](https://docs-topaz-pi.vercel.app/docs/references/fdi/emailverification-recipe/verifyemail) #### JWT Recipe - [Get JWT keys](https://docs-topaz-pi.vercel.app/docs/references/fdi/jwt-recipe/getjwks) #### MultiFactorAuth Recipe - [Get MFA factors information](https://docs-topaz-pi.vercel.app/docs/references/fdi/multifactorauth-recipe/getmfainfo) #### Multitenancy Recipe - [Get enabled login methods](https://docs-topaz-pi.vercel.app/docs/references/fdi/multitenancy-recipe/loginmethods) #### OAuth2Provider Recipe - [Continue OAuth login](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthloginget) - [End OAuth session](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthendsessionpost) - [End session redirect](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthendsessionget) - [Exchange OAuth grant](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthtokenpost) - [Get OAuth login info](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthlogininfoget) - [Get OAuth user info](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthuserinfoget) - [Introspect OAuth token](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthintrospectpost) - [Logout OAuth user](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthlogoutpost) - [Revoke OAuth token](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthrevokepost) - [Start OAuth login](https://docs-topaz-pi.vercel.app/docs/references/fdi/oauth2provider-recipe/oauthauthget) #### OpenId Recipe - [Get OpenID config](https://docs-topaz-pi.vercel.app/docs/references/fdi/openid-recipe/getopeniddiscoveryconfiguration) #### Passwordless Recipe - [Check email exists](https://docs-topaz-pi.vercel.app/docs/references/fdi/passwordless-recipe/passwordlessemailexists) - [Check email exists (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/fdi/passwordless-recipe/passwordlessemailexistsdepr) - [Check phone exists](https://docs-topaz-pi.vercel.app/docs/references/fdi/passwordless-recipe/passwordlessphonenumberexists) - [Check phone exists (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/fdi/passwordless-recipe/passwordlessphonenumberexistsdepr) - [Complete passwordless sign in/up](https://docs-topaz-pi.vercel.app/docs/references/fdi/passwordless-recipe/passwordlesssigninupconsume) - [Resend passwordless code](https://docs-topaz-pi.vercel.app/docs/references/fdi/passwordless-recipe/passwordlesssigninupresend) - [Start passwordless sign in/up](https://docs-topaz-pi.vercel.app/docs/references/fdi/passwordless-recipe/passwordlesssigninupstart) #### Session Recipe - [Refresh user session](https://docs-topaz-pi.vercel.app/docs/references/fdi/session-recipe/refresh) - [Sign out user](https://docs-topaz-pi.vercel.app/docs/references/fdi/session-recipe/signout) #### ThirdParty Recipe - [Get third party auth URL](https://docs-topaz-pi.vercel.app/docs/references/fdi/thirdparty-recipe/authorisationurl) - [Handle Apple sign in](https://docs-topaz-pi.vercel.app/docs/references/fdi/thirdparty-recipe/thirdpartycallbackapple) - [Sign in/up with third party](https://docs-topaz-pi.vercel.app/docs/references/fdi/thirdparty-recipe/signinup) #### TOTP Recipe - [Create TOTP device](https://docs-topaz-pi.vercel.app/docs/references/fdi/totp-recipe/createtotpdevice) - [List TOTP devices](https://docs-topaz-pi.vercel.app/docs/references/fdi/totp-recipe/listtotpdevices) - [Remove TOTP device](https://docs-topaz-pi.vercel.app/docs/references/fdi/totp-recipe/removetotpdevice) - [Verify TOTP code](https://docs-topaz-pi.vercel.app/docs/references/fdi/totp-recipe/verifytotp) - [Verify TOTP device](https://docs-topaz-pi.vercel.app/docs/references/fdi/totp-recipe/verifytotpdevice) #### WebAuthn Recipe - [Check WebAuthn email exists](https://docs-topaz-pi.vercel.app/docs/references/fdi/webauthn-recipe/webauthnemailexists) - [Generate WebAuthn recovery token](https://docs-topaz-pi.vercel.app/docs/references/fdi/webauthn-recipe/webauthngeneraterecoveraccounttoken) - [Get WebAuthn registration options](https://docs-topaz-pi.vercel.app/docs/references/fdi/webauthn-recipe/webauthnregisteroptions) - [Get WebAuthn sign in options](https://docs-topaz-pi.vercel.app/docs/references/fdi/webauthn-recipe/webauthnsigninoptions) - [Recover WebAuthn account](https://docs-topaz-pi.vercel.app/docs/references/fdi/webauthn-recipe/webauthnrecoveraccount) - [Register WebAuthn credential](https://docs-topaz-pi.vercel.app/docs/references/fdi/webauthn-recipe/webauthnregistercredential) - [Sign in with WebAuthn](https://docs-topaz-pi.vercel.app/docs/references/fdi/webauthn-recipe/webauthnsignin) - [Sign up with WebAuthn](https://docs-topaz-pi.vercel.app/docs/references/fdi/webauthn-recipe/webauthnsignup) ### Core Driver Interface - [Core Driver Interface](https://docs-topaz-pi.vercel.app/docs/references/cdi) - [Introduction](https://docs-topaz-pi.vercel.app/docs/references/cdi/introduction): Access detailed API specifications for integrating with SuperTokens Core and frontend SDKs. #### Core - [Delete hello message](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/deletehello) - [Delete license key](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/deletelicense) - [Delete user](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/deleteuser) - [Get active users count](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getactiveuserscount) - [Get API version](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getapiversion) - [Get config file path](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getconfig) - [Get enterprise features](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getfeatureflag) - [Get hello message](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/gethello) - [Get hello message on root path](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/gethelloonrootpath) - [Get license key](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getlicense) - [Get requests stats](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getrequestsstats) - [Get search tags](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getsearchtags) - [Get telemetry ID](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/gettelemetry) - [Get user ID](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getuserid) - [Get users](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getusers) - [Get users by account info](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getusersbyaccountinfo) - [Get users count](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getuserscount) - [Get well-known JWT keys](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/getwellknownjwks) - [Post hello message](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/posthello) - [Put hello message](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/puthello) - [Set license key](https://docs-topaz-pi.vercel.app/docs/references/cdi/core/setlicense) #### Account Linking Recipe - [Check account linking possibility](https://docs-topaz-pi.vercel.app/docs/references/cdi/account-linking-recipe/canlinkaccounts) - [Check primary user creation possibility](https://docs-topaz-pi.vercel.app/docs/references/cdi/account-linking-recipe/cancreateprimaryuser) - [Create primary user account](https://docs-topaz-pi.vercel.app/docs/references/cdi/account-linking-recipe/createprimaryuser) - [Link user accounts together](https://docs-topaz-pi.vercel.app/docs/references/cdi/account-linking-recipe/linkaccounts) - [Unlink user accounts](https://docs-topaz-pi.vercel.app/docs/references/cdi/account-linking-recipe/unlinkaccounts) #### Bulk Import - [Add bulk import users](https://docs-topaz-pi.vercel.app/docs/references/cdi/bulk-import/addbulkimportusers) - [Count bulk import users](https://docs-topaz-pi.vercel.app/docs/references/cdi/bulk-import/countbulkimportusers) - [Delete bulk import users](https://docs-topaz-pi.vercel.app/docs/references/cdi/bulk-import/deletebulkimportusers) - [Import one user directly](https://docs-topaz-pi.vercel.app/docs/references/cdi/bulk-import/importoneuserwithbulkimport) - [List bulk import users](https://docs-topaz-pi.vercel.app/docs/references/cdi/bulk-import/getbulkimportusers) #### Dashboard Recipe - [Create dashboard user](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/createdashboarduser) - [Delete dashboard user](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/deletedashboarduser) - [Get all dashboard users](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/getalldashboardusers) - [Get all sessions for dashboard user](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/getallsessionsfordashboarduser) - [Get the core config](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/tenantcoreconfigfordashboardget) - [Revoke dashboard user session](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/revokedashboarduserssession) - [Sign in dashboard user](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/signindashboarduser) - [Update dashboard user](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/updatedashboarduser) - [Verify dashboard user session](https://docs-topaz-pi.vercel.app/docs/references/cdi/dashboard-recipe/verifydashboardusersession) #### EmailPassword Recipe - [Consume password reset token](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailpassword-recipe/emailpasswordresetpasswordconsumetoken) - [Generate password reset token](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailpassword-recipe/emailpasswordgetpasswordresettoken) - [Get email password user](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailpassword-recipe/emailpasswordgetuser) - [Import user with hash](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailpassword-recipe/userimport) - [Reset user password](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailpassword-recipe/emailpasswordgetpasswordreset) - [Sign in user](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailpassword-recipe/emailpasswordsignin) - [Sign up user](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailpassword-recipe/emailpasswordsignup) - [Update user info](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailpassword-recipe/emailpasswordputuser) #### EmailVerification Recipe - [Check email verification](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailverification-recipe/emailverificationverifyget) - [Generate email verification token](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailverification-recipe/emailverificationverifytoken) - [Remove email verification tokens](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailverification-recipe/emailverificationverifytokenremove) - [Unverify email](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailverification-recipe/emailverificationverifyremove) - [Verify email](https://docs-topaz-pi.vercel.app/docs/references/cdi/emailverification-recipe/emailverificationverify) #### JWT Recipe - [Create signed JWT](https://docs-topaz-pi.vercel.app/docs/references/cdi/jwt-recipe/createsignedjwt) - [Get JWT keys](https://docs-topaz-pi.vercel.app/docs/references/cdi/jwt-recipe/getjwks) #### Multitenancy Recipe - [Add user tenant association](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/addusertotenant) - [Delete a tenant](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/deletetenantpost) - [Delete app](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/deleteapppost) - [Delete ThirdParty Provider configuration](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/deletetenantconfigpost) - [Get tenant configuration](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/tenantconfigv2get) - [Get tenant configuration (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/tenantconfigget) - [List apps](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/applistv2get) - [List apps (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/applistget) - [List connection uri domains](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/connectionuridomainlistv2get) - [List connection uri domains (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/connectionuridomainlistget) - [List tenants in an app](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/tenantlistv2get) - [List tenants in an app (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/tenantlistget) - [Remove connection uri domain](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/deleteconnectionuridomainpost) - [Remove user tenant association](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/removeuserfromtenant) - [Upsert app](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdateappv2put) - [Upsert app (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdateappput) - [Upsert connection uri domain](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdateconnectionuridomainv2put) - [Upsert connection URI domain](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdateconnectionuridomainput) - [Upsert tenant](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdatetenantv2put) - [Upsert tenant (deprecated)](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdatetenantput) - [Upsert ThirdParty Provider configuration](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdatetenantconfigput) #### OAuth2Provider Recipe - [Accept OAuth2 Consent Request](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/acceptoauth2consentrequest) - [Accept OAuth2 Login Request](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/acceptoauth2loginrequest) - [Accept OAuth2 Logout Request](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/acceptoauth2logoutrequest) - [Create OAuth2 Client](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/createoauth2client) - [Get OAuth2 Auth](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/getoauth2auth) - [Get OAuth2 Client](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/getoauth2client) - [Get OAuth2 Consent Request](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/getoauth2consentrequest) - [Get OAuth2 Login Request](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/getoauth2loginrequest) - [Get OAuth2 Sessions Logout](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/getoauth2sessionslogout) - [Get OAuth2 Token](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/getoauth2token) - [Introspect OAuth2 Token](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/introspectoauth2token) - [List OAuth2 Clients](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/listoauth2clients) - [Reject OAuth2 Consent Request](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/rejectoauth2consentrequest) - [Reject OAuth2 Login Request](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/rejectoauth2loginrequest) - [Reject OAuth2 Logout Request](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/rejectoauth2logoutrequest) - [Remove OAuth2 Client](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/removeoauth2client) - [Revoke OAuth2 Session](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/revokeoauth2session) - [Revoke OAuth2 Token](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/revokeoauth2token) - [Revoke OAuth2 tokens for a client](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/revokeoauth2tokens) - [Update OAuth2 Client](https://docs-topaz-pi.vercel.app/docs/references/cdi/oauth2provider-recipe/updateoauth2client) #### Passwordless Recipe - [Check passwordless code](https://docs-topaz-pi.vercel.app/docs/references/cdi/passwordless-recipe/passwordlesscheckcode) - [Consume passwordless code](https://docs-topaz-pi.vercel.app/docs/references/cdi/passwordless-recipe/passwordlesstryusecode) - [Get passwordless user](https://docs-topaz-pi.vercel.app/docs/references/cdi/passwordless-recipe/passwordlessgetuser) - [List passwordless codes](https://docs-topaz-pi.vercel.app/docs/references/cdi/passwordless-recipe/passwordlesslistcodes) - [Revoke all user codes](https://docs-topaz-pi.vercel.app/docs/references/cdi/passwordless-recipe/passwordlessrevokeallcodesofuser) - [Revoke passwordless code](https://docs-topaz-pi.vercel.app/docs/references/cdi/passwordless-recipe/passwordlessrevokecode) - [Start passwordless sign in](https://docs-topaz-pi.vercel.app/docs/references/cdi/passwordless-recipe/passwordlessstartsignin) - [Update passwordless user](https://docs-topaz-pi.vercel.app/docs/references/cdi/passwordless-recipe/passwordlessputuser) #### Session Recipe - [Create new session](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/createnewsession) - [Delete session](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/deletesession) - [Get JWT data](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/getjwtdata) - [Get session data](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/getsessiondata) - [Get session info](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/getsessioninfo) - [Get user session handles](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/getusersessionhandles) - [Refresh session](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/refreshsession) - [Regenerate session](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/regeneratesession) - [Update JWT data](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/putjwtdata) - [Update session data](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/putsessiondata) - [Verify session](https://docs-topaz-pi.vercel.app/docs/references/cdi/session-recipe/verifysession) #### ThirdParty Recipe - [Get third party user](https://docs-topaz-pi.vercel.app/docs/references/cdi/thirdparty-recipe/thirdpartygetuser) - [Get users by email](https://docs-topaz-pi.vercel.app/docs/references/cdi/thirdparty-recipe/thirdpartygetusersbyemail) - [Sign in/up third party user](https://docs-topaz-pi.vercel.app/docs/references/cdi/thirdparty-recipe/thirdpartysigninup) #### Totp Recipe - [Add TOTP device for user](https://docs-topaz-pi.vercel.app/docs/references/cdi/totp-recipe/createtotpdevice) - [Import existing TOTP device](https://docs-topaz-pi.vercel.app/docs/references/cdi/totp-recipe/importtotpdevice) - [List user TOTP devices](https://docs-topaz-pi.vercel.app/docs/references/cdi/totp-recipe/gettotpdevices) - [Remove TOTP device](https://docs-topaz-pi.vercel.app/docs/references/cdi/totp-recipe/removetotpdevice) - [Update TOTP device name](https://docs-topaz-pi.vercel.app/docs/references/cdi/totp-recipe/updatetotpdevicename) - [Verify TOTP code](https://docs-topaz-pi.vercel.app/docs/references/cdi/totp-recipe/verifytotpcode) - [Verify TOTP device](https://docs-topaz-pi.vercel.app/docs/references/cdi/totp-recipe/verifytotpdevice) #### User Metadata Recipe - [Get user metadata](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-metadata-recipe/usermetadataread) - [Remove user metadata](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-metadata-recipe/usermetadatadelete) - [Update user metadata](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-metadata-recipe/usermetadataupdate) #### User Roles Recipe - [Add user role](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/adduserrole) - [Create or update role](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/putrole) - [Delete role](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/removerole) - [Get all roles](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/getroles) - [Get permission roles](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/getpermissionroles) - [Get role permissions](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/getrolepermissions) - [Get user roles](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/getuserroles) - [Get users with role](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/getroleusers) - [Remove role permissions](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/removerolepermissions) - [Remove user role](https://docs-topaz-pi.vercel.app/docs/references/cdi/user-roles-recipe/removeuserrole) #### UserIdMapping Recipe - [Create user ID mapping](https://docs-topaz-pi.vercel.app/docs/references/cdi/useridmapping-recipe/useridmappingcreatemapping) - [Get user ID mapping](https://docs-topaz-pi.vercel.app/docs/references/cdi/useridmapping-recipe/useridmappinggetmapping) - [Remove user ID mapping](https://docs-topaz-pi.vercel.app/docs/references/cdi/useridmapping-recipe/useridmappingremovemapping) - [Update external user info](https://docs-topaz-pi.vercel.app/docs/references/cdi/useridmapping-recipe/useridmappingupateexternaluseridinfo) #### WebAuthn Recipe - [Consume recovery token](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/consumewebauthntoken) - [Generate authentication options](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/generatesigninoptions) - [Generate recovery token](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/generatetokenforrecovery) - [Generate registration options](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/generateregistrationoptions) - [Get WebAuthn credential](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/getwebauthncredential) - [Get WebAuthn options](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/getwebauthnoptions) - [List WebAuthn credentials](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/listwebauthncredentials) - [Recover WebAuthn user](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/recoverwebauthnuser) - [Register WebAuthn credential](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/registerwebauthncredential) - [Remove WebAuthn credential](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/removewebauthncredential) - [Remove WebAuthn options](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/removewebauthnoptions) - [Sign in WebAuthn user](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/signinwebauthnuser) - [Sign up WebAuthn user](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/signupwebauthnuser) - [Update email](https://docs-topaz-pi.vercel.app/docs/references/cdi/webauthn-recipe/updateemail) ### Testing and Debugging - [API Testing](https://docs-topaz-pi.vercel.app/docs/references/testing-and-debugging/api-testing): Test the APIs exposed by the backend SDK. - [How to enable debug logs](https://docs-topaz-pi.vercel.app/docs/references/testing-and-debugging/how-to-troubleshoot): Enable debug logs for each SuperTokens component to troubleshoot your integration. - [Common issues](https://docs-topaz-pi.vercel.app/docs/references/testing-and-debugging/common-issues): Resolve common issues that might occur when you integrate SuperTokens. ## Authentication - [Overview](https://docs-topaz-pi.vercel.app/docs/authentication/overview): Explore various user authentication methods with SuperTokens, including email/password, social login, and more. - [MCP Authentication](https://docs-topaz-pi.vercel.app/docs/authentication/ai-authentication): Authenticate MCP server actions using the SuperTokens MCP plugin. ### Email Password - [Email/Password Authentication](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/introduction): Integrate email/password sign-up, sign-in, sessions, password reset, and optional email verification with prebuilt or custom UI. - [Set Up Email/Password Authentication](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/initial-setup): Add email and password authentication to your frontend and backend, then prepare the integration for production. - [Customize the Sign In form](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/customize-the-sign-in-form): Customize form fields in the sign in component by modifying labels, placeholders, default values, and error messages. - [Customize the Sign Up Form](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/customize-the-sign-up-form): Customize the sign up form by adding new fields or modifying existing ones. - [Hooks and overrides](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/hooks-and-overrides): Add custom logic in the authentication flow by overriding the SuperTokens APIs. - [Password hashing](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/password-hashing): Learn about the password hashing algorithms used by SuperTokens and how to customize and calibrate them. - [Implement username login](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/implement-username-login): Enable username login by replacing email with username in the SuperTokens authentication flow. - [Password reset](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/password-reset): Learn how the password reset functionality works - [Disable Sign Up](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/disable-signup): Learn how to disable the sign up flow - [Password managers](https://docs-topaz-pi.vercel.app/docs/authentication/email-password/password-managers): Ensure password managers detect authentication fields by disabling shadow DOM in your application. ### Passwordless - [Passwordless Authentication](https://docs-topaz-pi.vercel.app/docs/authentication/passwordless/introduction): Authenticate users with magic links or one-time passwords delivered through email or SMS, using prebuilt or custom UI. - [Set Up Passwordless Authentication](https://docs-topaz-pi.vercel.app/docs/authentication/passwordless/initial-setup): Integrate email or SMS passwordless authentication with magic links, OTPs, or both using prebuilt or custom UI. - [Customize the Magic Link](https://docs-topaz-pi.vercel.app/docs/authentication/passwordless/customize-the-magic-link): See how to change the magic link or how to generate it manually - [Customize the One-Time Password (OTP)](https://docs-topaz-pi.vercel.app/docs/authentication/passwordless/customize-the-otp): Configure OTP by changing the format or by modifying the token duration - [Hooks and overrides](https://docs-topaz-pi.vercel.app/docs/authentication/passwordless/hooks-and-overrides): Add custom logic in the authentication flow by overriding the SuperTokens APIs. - [Configure email and SMS behavior](https://docs-topaz-pi.vercel.app/docs/authentication/passwordless/configure-email-and-sms-behavior): Customize how the email and SMS are sent in your frontend application. - [Implement invite link based sign up](https://docs-topaz-pi.vercel.app/docs/authentication/passwordless/invite-link-flow): Discover how to implement an invite based sign up flow with the passwordless recipe. - [Implement allow list based sign up](https://docs-topaz-pi.vercel.app/docs/authentication/passwordless/allow-list-flow): Discover how to implement an allow list based sign up flow with the passwordless recipe. ### Social Login - [Social Login](https://docs-topaz-pi.vercel.app/docs/authentication/social/introduction): Authenticate users with built-in or custom third-party identity providers using prebuilt UI or custom SDK interfaces. - [Set Up Social Login](https://docs-topaz-pi.vercel.app/docs/authentication/social/initial-setup): Integrate Google, Apple, and other OAuth providers with ThirdParty and Session recipes, callback routes, and prebuilt or custom UI. - [Built-in providers](https://docs-topaz-pi.vercel.app/docs/authentication/social/built-in-providers-config): Configure single or multi-tenant login/SSO with built-in provider settings. - [Custom providers](https://docs-topaz-pi.vercel.app/docs/authentication/social/custom-providers): Add custom authentication providers to SuperTokens - [Hooks and overrides](https://docs-topaz-pi.vercel.app/docs/authentication/social/hooks-and-overrides): Customize the authentication flow to trigger events like analytics or database updates. - [Add multiple clients for the same provider](https://docs-topaz-pi.vercel.app/docs/authentication/social/add-multiple-clients-for-the-same-provider): Configure multiple client IDs for social login providers in web and mobile applications. - [Implement a custom invite flow](https://docs-topaz-pi.vercel.app/docs/authentication/social/custom-invite-flow): Implement a list of approved email addresses for third-party sign-ups using the SuperTokens user metadata recipe. ### Enterprise Login - [Introduction](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/introduction): Explore how you can implement enterprise authentication flows with SuperTokens. - [Important concepts](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/important-concepts): Understand multi-tenant architecture with SuperTokens - [Initial setup](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/initial-setup): Create your first tenant and configure authentication on it. - [Implement common domain login](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/common-domain-login): Authenticate users across different tenants through a common domain. - [Implement subdomain login](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/subdomain-login): Authenticate users across different tenants through different subdomains. - [Tenant discovery](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/tenant-discovery): Automatically discover and route users to appropriate tenants based on their email domains - [Tenant actions](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/manage-tenants): Discover different APIs that can help you work with tenants. - [Tenant management](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/tenant-management-plugin): Use the tenant management plugin for an out-of-the-box admin experience - [Manage apps](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/manage-apps): Create and manage multiple apps within a SuperTokens integration. - [SAML](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/saml): Add SAML authentication to your application - [Legacy SAML](https://docs-topaz-pi.vercel.app/docs/authentication/enterprise/legacy-saml): Learn how SAML facilitates secure information exchange between authentication servers and client applications. ### Unified Login - [Introduction](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/introduction): Authenticate multiple applications using SuperTokens and OAuth2 for unified login across platforms. - [OAuth 2.0 Basics](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/oauth2-basics): Authenticate multiple applications using SuperTokens and OAuth 2.0 for unified login across platforms. - [Work with scopes](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/work-with-scopes): Manage OAuth2 scopes, request specific scopes, and override granted scopes during authentication. - [Verify tokens](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/verify-tokens): Verify OAuth2 access tokens locally or with database-backed validation. - [Add custom claims in tokens](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/add-custom-claims-in-tokens): Add custom claims to OAuth2 access and ID tokens using overrides #### Quickstart Guides - [Multiple frontend domains with a common backend](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/quickstart-guides/multiple-frontends-with-a-single-backend): Implement OAuth2 authentication for multiple frontend domains using a shared backend service. - [Multiple frontend domains with separate backends](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/quickstart-guides/multiple-frontends-with-separate-backends): Set up multiple frontend domains with separate backends using OAuth2 authentication. - [Reuse website login for desktop and mobile apps](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/quickstart-guides/reuse-website-login): Implement web authentication for desktop and mobile apps using OAuth 2.0. ### Machine to Machine - [Introduction](https://docs-topaz-pi.vercel.app/docs/authentication/m2m/introduction): Authenticate microservices using SuperTokens with the OAuth2 Client Credentials Flow. - [Client Credentials Flow](https://docs-topaz-pi.vercel.app/docs/authentication/m2m/client-credentials): Configure OAuth2 client credentials flow for microservices authentication and access token verification. - [Legacy Flow](https://docs-topaz-pi.vercel.app/docs/authentication/m2m/legacy-flow): Guide for implementing custom JWT authentication between microservices using SuperTokens Core. ### Passkeys - [Passkey Authentication](https://docs-topaz-pi.vercel.app/docs/authentication/passkeys/introduction): Use WebAuthn passkeys as standalone passwordless authentication with biometrics, security keys, or device credentials. - [Important concepts](https://docs-topaz-pi.vercel.app/docs/authentication/passkeys/important-concepts) - [Set Up Passkey Authentication](https://docs-topaz-pi.vercel.app/docs/authentication/passkeys/initial-setup): Integrate standalone WebAuthn passkey authentication with the frontend and backend SDKs, Session recipe, and authentication routes. - [Customization](https://docs-topaz-pi.vercel.app/docs/authentication/passkeys/customization) ## Additional Verification - [CAPTCHA](https://docs-topaz-pi.vercel.app/docs/additional-verification/captcha): Use the plugin to add CAPTCHA to your authentication flow. ### Session Verification - [Protect backend routes](https://docs-topaz-pi.vercel.app/docs/additional-verification/session-verification/protect-api-routes): Protect backend routes with SuperTokens session middleware and session verification APIs. - [Protect frontend routes](https://docs-topaz-pi.vercel.app/docs/additional-verification/session-verification/protect-frontend-routes): Protect frontend routes by requiring user sessions and verifying session claims for access control. - [Session verification during server-side rendering](https://docs-topaz-pi.vercel.app/docs/additional-verification/session-verification/ssr): Enable secure session verification during server-side rendering with cookie-based sessions. - [WebSocket session verification](https://docs-topaz-pi.vercel.app/docs/additional-verification/session-verification/with-websocket): Authenticate WebSocket connections with SuperTokens access tokens and enforce connection-lifetime checks. - [Claims validation](https://docs-topaz-pi.vercel.app/docs/additional-verification/session-verification/claim-validation): Validate your resources based on claims that get attached to the session. ### Multi Factor Authentication - [Multi-Factor Authentication](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/introduction): Add email or SMS OTP, TOTP, or WebAuthn passkeys as MFA factors and require step-up authentication for sensitive actions. - [Important concepts](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/important-concepts): Understand SuperTokens auth factor IDs, completion status, and multi-factor authentication setup. - [Initial setup](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/initial-setup): Configure your application for multi-factor authentication with account linking and tenant-specific configurations. - [Passkeys as an MFA Factor](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/webauthn-setup): Require WebAuthn passkeys as a second authentication factor after email/password, social login, or another first factor. - [Implement recovery codes](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/backup-codes): Implement backup codes for account recovery by customizing SuperTokens SDKs for MFA users. - [Implement step-up authentication](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/step-up-auth): Implement step-up authentication using SuperTokens MFA recipe. - [Embed the pre-built UI component](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/embed-the-prebuilt-ui): Embed and customize a prebuilt MFA UI component. - [Protect frontend and backend routes](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/protect-routes): Protect frontend and backend routes using SuperTokens Session Tokens and Multi-Factor Authentication (MFA). - [Hooks and overrides](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/hooks-and-overrides): Configure your application for multi-factor authentication with account linking and tenant-specific configurations. #### TOTP - [Require TOTP for all users](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/totp/totp-for-all-users): Implement a TOTP-based MFA policy for all users to enhance application security. - [Require TOTP for specific users](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/totp/totp-for-opt-in-users): Implement a TOTP-based MFA policy for specific users based on customizable criteria. #### OTP - [OTP required for all users](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/email-sms-otp/otp-for-all-users): Implement a multi-factor authentication policy requiring all users to complete an OTP challenge. - [OTP for specific users](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/email-sms-otp/otp-for-opt-in-users): Implement MFA policy for specific users using OTP via email or SMS based on defined criteria. ### Email Verification - [Introduction](https://docs-topaz-pi.vercel.app/docs/additional-verification/email-verification/introduction): Use email verification to ensure user authenticity and protect application routes. - [Initial Setup](https://docs-topaz-pi.vercel.app/docs/additional-verification/email-verification/initial-setup): Enable email verification to ensure user authenticity and protect application routes. - [Protect frontend and backend routes](https://docs-topaz-pi.vercel.app/docs/additional-verification/email-verification/protecting-routes): Protect API and website routes by implementing email verification checks for secure access. - [Manual actions](https://docs-topaz-pi.vercel.app/docs/additional-verification/email-verification/manual-actions): See how you can directly generate email verification links and set emails as verified through manual actions. - [Embed the UI in a page](https://docs-topaz-pi.vercel.app/docs/additional-verification/email-verification/embed-in-page): Embed the email verification UI in a different page. - [Customize the pre-built UI](https://docs-topaz-pi.vercel.app/docs/additional-verification/email-verification/changing-style): Update SuperTokens component styles using CSS for customized UI appearance. - [Hooks and overrides](https://docs-topaz-pi.vercel.app/docs/additional-verification/email-verification/hooks-and-overrides): Add custom logic in the email verification flow by overriding the SuperTokens APIs. ### Attack Protection Suite - [Introduction](https://docs-topaz-pi.vercel.app/docs/additional-verification/attack-protection-suite/introduction): Enhance application security with automatic threat detection SuperTokens - [Initial setup](https://docs-topaz-pi.vercel.app/docs/additional-verification/attack-protection-suite/initial-setup): Set up Attack Protection Suite in your **SuperTokens** integration ### User Roles - [Introduction](https://docs-topaz-pi.vercel.app/docs/additional-verification/user-roles/introduction): Manage user roles and permissions with SuperTokens. - [Initial Setup](https://docs-topaz-pi.vercel.app/docs/additional-verification/user-roles/initial-setup): Learn how to initialize and configure user roles with SuperTokens. - [Role management actions](https://docs-topaz-pi.vercel.app/docs/additional-verification/user-roles/role-management-actions): Discover how to perform common actions that can be use to manage roles and permissions. - [Protect frontend and backend routes](https://docs-topaz-pi.vercel.app/docs/additional-verification/user-roles/protecting-routes): Protect frontend and backend routes using SuperTokens session access tokens and role-based validation. ## Post Authentication - [Post Login Redirect](https://docs-topaz-pi.vercel.app/docs/post-authentication/post-login-redirect): Change post-login redirection paths and configure login screen behavior using SuperTokens. ### Session Management - [Session Management](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/introduction): Understand access and refresh tokens, automatic session refresh, protected API verification, cookies, and session revocation. - [Access Session Data](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/access-session-data): Learn how to access session data including JWT tokens, tenant IDs, and user sessions across different programming languages and frameworks. - [Session Invalidation](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/session-invalidation): Learn how to handle session expiry, implement sign out, and revoke sessions across different programming languages and frameworks. - [Share sessions across sub domains](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/share-session-across-sub-domains): Configure SuperTokens to share sessions across multiple subdomains. - [Switch between cookie and header-based sessions](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/switch-between-cookies-and-header-authentication): Switch between cookie and header-based sessions for secure token management in SuperTokens. - [Security](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/security): Learn how to protect your website from CSRF attacks using the `sameSite` cookie attribute. #### Advanced Workflows - [Implement anonymous sessions](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/advanced-workflows/anonymous-session): Track user actions with anonymous sessions, create and verify JWTs, and transfer data post-login. - [Implement user impersonation](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/advanced-workflows/user-impersonation): Enable user impersonation for testing and support by creating an admin-protected API endpoint. - [Customize error handling](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/advanced-workflows/customize-error-handling): Customize errors thrown by the Session recipe in your SuperTokens integration. - [Work with multiple API endpoints](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/advanced-workflows/multiple-api-endpoints): Configure sessions for multiple API endpoints using cookie and header-based authentication. - [Disable frontend network interceptors](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/advanced-workflows/disable-frontend-interceptors): Disable frontend network interceptors to manage session tokens and request headers manually in projects. - [Usage inside an iframe](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/advanced-workflows/in-iframe): Embed your website in an iframe with secure session management and custom storage handlers. - [Blacklist access tokens](https://docs-topaz-pi.vercel.app/docs/post-authentication/session-management/advanced-workflows/access-token-blacklisting): Enable immediate session revocation by implementing access token blacklisting with database checks. ### User Management - [Introduction](https://docs-topaz-pi.vercel.app/docs/post-authentication/user-management/introduction): Learn how to manage users in SuperTokens - [Common actions](https://docs-topaz-pi.vercel.app/docs/post-authentication/user-management/common-actions): Discover how to manage users using SuperTokens. - [Allow users to update their data](https://docs-topaz-pi.vercel.app/docs/post-authentication/user-management/allow-users-to-update-their-data): Enable users to change their email or password. - [Profile Management](https://docs-topaz-pi.vercel.app/docs/post-authentication/user-management/user-profile): Add comprehensive user profile management with customizable form fields and account information display using the profile details plugin - [User metadata](https://docs-topaz-pi.vercel.app/docs/post-authentication/user-management/user-metadata): Store and manage user metadata using the backend SDK's UserMetadata recipe. - [Account deduplication](https://docs-topaz-pi.vercel.app/docs/post-authentication/user-management/account-deduplication): Learn how to prevent duplicate user accounts through account deduplication techniques. - [User banning](https://docs-topaz-pi.vercel.app/docs/post-authentication/user-management/user-banning): Implement a user banning feature using plugins - [Progressive profiling](https://docs-topaz-pi.vercel.app/docs/post-authentication/user-management/progressive-profiling): Gradually collect user information through customizable multi-step forms using the progressive profiling plugin ### Account Linking - [Introduction](https://docs-topaz-pi.vercel.app/docs/post-authentication/account-linking/introduction): Learn how to manage users in SuperTokens - [Important concepts](https://docs-topaz-pi.vercel.app/docs/post-authentication/account-linking/important-concepts): Link multiple authentication methods to a single account, ensuring security and user management. - [Automatic account linking](https://docs-topaz-pi.vercel.app/docs/post-authentication/account-linking/automatic-account-linking): Enable automatic account linking for multiple login methods with SuperTokens, ensuring secure account management. - [Manual account linking](https://docs-topaz-pi.vercel.app/docs/post-authentication/account-linking/manual-account-linking): Manual account linking enables control over linking accounts with different identifiers or post-login. - [Link social accounts](https://docs-topaz-pi.vercel.app/docs/post-authentication/account-linking/link-social-accounts): Link social accounts using the account linking feature. - [Add passwords to an existing account](https://docs-topaz-pi.vercel.app/docs/post-authentication/account-linking/add-passwords-to-an-existing-account): Add a new password to an existing account using the account linking feature. ### Dashboard - [Introduction](https://docs-topaz-pi.vercel.app/docs/post-authentication/dashboard/introduction): Learn how to manage users in SuperTokens - [Initial setup](https://docs-topaz-pi.vercel.app/docs/post-authentication/dashboard/initial-setup): Set up and manage your user management dashboard with SuperTokens integration and configuration instructions. - [User management](https://docs-topaz-pi.vercel.app/docs/post-authentication/dashboard/user-management): View and manage user details, edit information, and perform actions in the user dashboard. - [Tenant Management](https://docs-topaz-pi.vercel.app/docs/post-authentication/dashboard/tenant-management): Manage tenants, login methods, and multi-factor authentication using the tenant management dashboard. ## Integrations - [Overview](https://docs-topaz-pi.vercel.app/docs/integrations/overview): Explore different integration guides that present how to use SuperTokens with different platforms and frameworks. - [GraphQL](https://docs-topaz-pi.vercel.app/docs/integrations/graphql): Set up backend session verification in GraphQL resolvers using SuperTokens for user authentication. - [Hasura](https://docs-topaz-pi.vercel.app/docs/integrations/hasura): Learn how to use SuperTokens with Hasura - [NestJS](https://docs-topaz-pi.vercel.app/docs/integrations/nestjs): Integrate SuperTokens with NestJS backend, covering modules, services, middleware, and session management. - [Netlify](https://docs-topaz-pi.vercel.app/docs/integrations/netlify): Learn to set up SuperTokens authentication with Netlify using serverless functions. - [Supabase](https://docs-topaz-pi.vercel.app/docs/integrations/supabase): Integrate SuperTokens with Supabase in a Next.js app for secure user data management. - [Vercel](https://docs-topaz-pi.vercel.app/docs/integrations/vercel): Learn how to integrate SuperTokens with Vercel ### AWS Lambda - [Quickstart Guide](https://docs-topaz-pi.vercel.app/docs/integrations/aws-lambda/quickstart-guide): Learn how to integrate SuperTokens with AWS Lambda - [Session Verification](https://docs-topaz-pi.vercel.app/docs/integrations/aws-lambda/session-verification): Verify user sessions when integrating SuperTokens with AWS Lambda. - [AppSync integration](https://docs-topaz-pi.vercel.app/docs/integrations/aws-lambda/appsync-integration): Integrate SuperTokens with AppSync through an API Gateway Lambda authorizer. ### NextJS #### App Directory - [About](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/about): Integrate SuperTokens with Next.js for authentication, session verification, and route protection. - [1. Configuration](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/init): Configure SuperTokens for authentication in your Next.js app with frontend and backend setup. - [2. Showing the Login UI](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/setting-up-frontend): Implement a login UI using SuperTokens in a Next.js application. - [3. Adding auth APIs](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/setting-up-backend): Add authentication APIs to your backend using SuperTokens for sign in and sign up functionality. - [4. Checking for sessions in frontend routes](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/protecting-route): Learn to protect frontend routes by checking user sessions and handling session-related events. - [6. Making requests from Server Components](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/server-components-requests): Learn to make API requests from server components using access tokens in Next.js. - [7. Next steps](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/next-steps): Set up SuperTokens core for your app using managed service or self-hosting options. ##### 5. Checking Sessions in API Routes - [Adding a session guard to each API route](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/protecting-backend/session-verification-session-guard): Implement session guards for API routes to manage user authentication and session validation. - [Using Next.js Proxy](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/app-directory/protecting-backend/session-verification-middleware): Implement session verification in Next.js Proxy to manage user authentication and retrieve user IDs. #### Pages Directory - [About](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/pages-directory/about): Integrate SuperTokens with Next.js for authentication, session verification, and route protection. - [1. Configuration](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/pages-directory/init): Configure SuperTokens for authentication in your Next.js app with frontend and backend setup. - [2. Showing Login UI](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/pages-directory/setting-up-frontend): Implement a login UI using SuperTokens in a Next.js application. - [3. Adding auth APIs](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/pages-directory/setting-up-backend): Add authentication APIs to your backend using SuperTokens for user sign-in and sign-up. - [4. Protecting a website route](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/pages-directory/protecting-route): Protect website routes by requiring user authentication and redirecting unauthenticated users to login. - [6. Next steps](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/pages-directory/next-steps): Set up SuperTokens core and database for your app with managed or self-hosted options. ##### Checking Sessions in API Routes - [5a. Session verification in an API call](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/pages-directory/protecting-backend/in-api): Implement session verification in API calls to securely fetch user session data. - [5b. Session verification in getServerSideProps](https://docs-topaz-pi.vercel.app/docs/integrations/nextjs/pages-directory/protecting-backend/in-ssr): Verify user sessions in Next.js using `getServerSideProps` for secure route access. ## Migration - [Overview](https://docs-topaz-pi.vercel.app/docs/migration/overview): Get a high-level overview of the migration process. - [Account Migration](https://docs-topaz-pi.vercel.app/docs/migration/account-migration): Migrate your users from a legacy authentication provider to SuperTokens. - [Session Migration](https://docs-topaz-pi.vercel.app/docs/migration/session-migration): Migrate user sessions from your previous authentication provider to SuperTokens using backend and frontend changes. ### Legacy Method - [About](https://docs-topaz-pi.vercel.app/docs/migration/legacy/about) - [Step 2. User Data Migration](https://docs-topaz-pi.vercel.app/docs/migration/legacy/data-migration) - [Step 3. Session Migration](https://docs-topaz-pi.vercel.app/docs/migration/legacy/session-migration) - [Step 4. MFA migration](https://docs-topaz-pi.vercel.app/docs/migration/legacy/mfa-migration) #### Step 1: Account Creation - [User Creation](https://docs-topaz-pi.vercel.app/docs/migration/legacy/account-creation/user-creation) - [UserId Mapping](https://docs-topaz-pi.vercel.app/docs/migration/legacy/account-creation/user-id-mapping) - [Mark email as verified](https://docs-topaz-pi.vercel.app/docs/migration/legacy/account-creation/email-verification) - [User Creation without password hashes](https://docs-topaz-pi.vercel.app/docs/migration/legacy/account-creation/ep-migration-without-password-hash) ### Rownd Migration - [Migration Steps](https://docs-topaz-pi.vercel.app/docs/migration/rownd/migration-steps): Understand the Rownd to SuperTokens migration process. - [SDK Integration Guide](https://docs-topaz-pi.vercel.app/docs/migration/rownd/sdk-integration-guide): Configure the SuperTokens Rownd backend plugin and frontend SDKs. ## Platform Configuration - [Configure Email Delivery](https://docs-topaz-pi.vercel.app/docs/platform-configuration/email-delivery): Send SuperTokens emails through the default service, your own SMTP server and domain, or a custom delivery implementation. - [SMS delivery](https://docs-topaz-pi.vercel.app/docs/platform-configuration/sms-delivery): Customize SMS delivery process. ### SuperTokens Core - [API Keys](https://docs-topaz-pi.vercel.app/docs/platform-configuration/supertokens-core/api-keys): Require API keys for backend SDK requests to a self-hosted Core and rotate multiple keys without downtime. - [Filter requests based on IP address](https://docs-topaz-pi.vercel.app/docs/platform-configuration/supertokens-core/ip-allow-deny): Configure SuperTokens to allow or deny requests based on specific IP addresses for enhanced security. - [Add SSL via NGINX](https://docs-topaz-pi.vercel.app/docs/platform-configuration/supertokens-core/add-ssl-via-nginx): Set up SSL for secure SuperTokens Core connections using NGINX as a reverse proxy. - [Add a base path](https://docs-topaz-pi.vercel.app/docs/platform-configuration/supertokens-core/base-path): Configure a base path for self-hosted core APIs by updating core config and backend SDK. - [CLI](https://docs-topaz-pi.vercel.app/docs/platform-configuration/supertokens-core/cli): Learn to use SuperTokens CLI for starting, listing, stopping, and uninstalling instances. ## Deployment - [Self-host SuperTokens](https://docs-topaz-pi.vercel.app/docs/deployment/self-host-supertokens): Deploy SuperTokens Core privately with Docker or on a VM and connect PostgreSQL for persistent storage. - [Rate limit policy](https://docs-topaz-pi.vercel.app/docs/deployment/rate-limits): Understand and implement SuperTokens rate limit policies for managed and self-hosted services. - [Scalability](https://docs-topaz-pi.vercel.app/docs/deployment/scalability): Learn how SuperTokens scales to handle millions of users and requests efficiently. - [OpenTelemetry Integration](https://docs-topaz-pi.vercel.app/docs/deployment/telemetry): Add OpenTelemetry logging to all SuperTokens APIs and function calls using the plugin - [Migrate from MySQL to PostgreSQL](https://docs-topaz-pi.vercel.app/docs/deployment/migrate-from-mysql)