# SuperTokens Docs

> Open Source User Authentication

## Docs

- [Overview](https://docs-topaz-pi.vercel.app/docs): Discover how you can integrate and use SuperTokens effectively in your applications.

## References

- [Overview](https://docs-topaz-pi.vercel.app/docs/references): Explore SuperTokens concepts, APIs, and advanced customization options for authentication integration.
- [How SuperTokens works](https://docs-topaz-pi.vercel.app/docs/references/how-supertokens-works): Integrate SuperTokens for secure authentication using frontend and backend SDKs with customizable recipes.
- [Update Guide](https://docs-topaz-pi.vercel.app/docs/references/updating-supertokens): Update SuperTokens core and SDKs to maintain compatibility and access new features.
- [SDK Compatibility Table](https://docs-topaz-pi.vercel.app/docs/references/compatibility-table): Find the compatible SDK/Core version for your specific tech stack.

### 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)
- [@supertokens-plugins/captcha-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/captcha-react)
- [@supertokens-plugins/opentelemetry-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/opentelemetry-nodejs)
- [@supertokens-plugins/profile-base-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/profile-base-react)
- [@supertokens-plugins/profile-details-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/profile-details-nodejs)
- [@supertokens-plugins/profile-details-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/profile-details-react)
- [@supertokens-plugins/progressive-profiling-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/progressive-profiling-nodejs)
- [@supertokens-plugins/progressive-profiling-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/progressive-profiling-react)
- [@supertokens-plugins/tenant-discovery-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/tenant-discovery-nodejs)
- [@supertokens-plugins/tenant-discovery-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/tenant-discovery-react)
- [@supertokens-plugins/tenants-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/tenants-nodejs)
- [@supertokens-plugins/tentants-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/tenants-react)
- [@supertokens-plugins/user-banning-nodejs](https://docs-topaz-pi.vercel.app/docs/references/plugins/user-banning-nodejs)
- [@supertokens-plugins/user-banning-react](https://docs-topaz-pi.vercel.app/docs/references/plugins/user-banning-react)
- [profile-details-shared](https://docs-topaz-pi.vercel.app/docs/references/plugins/profile-details-shared)
- [progressive-profiling-shared](https://docs-topaz-pi.vercel.app/docs/references/plugins/progressive-profiling-shared)

### 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 implement cover custome 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/tenantconfigget)
- [Get tenant configuration](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/tenantconfigv2get)
- [List apps](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/applistget)
- [List apps](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/applistv2get)
- [List connection uri domains](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/connectionuridomainlistget)
- [List connection uri domains](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/connectionuridomainlistv2get)
- [List tenants in an app](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/tenantlistget)
- [List tenants in an app](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/tenantlistv2get)
- [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/createorupdateappput)
- [Upsert app](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdateappv2put)
- [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/createorupdatetenantput)
- [Upsert tenant](https://docs-topaz-pi.vercel.app/docs/references/cdi/multitenancy-recipe/createorupdatetenantv2put)
- [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 Token](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. 

## Quickstart

- [Introduction](https://docs-topaz-pi.vercel.app/docs/quickstart/introduction): Set up user authentication with SuperTokens using Email/Password login and customizable UI components.
- [Frontend Setup](https://docs-topaz-pi.vercel.app/docs/quickstart/frontend-setup): Add the prebuilt login UI and automatic session handling to React, Angular, or Vue with the SuperTokens frontend SDKs.
- [Backend SDK Setup](https://docs-topaz-pi.vercel.app/docs/quickstart/backend-setup): Install the Node.js, Python, or Go SDK, connect to SuperTokens Core, expose auth APIs, configure CORS, and protect backend routes.
- [Next Steps](https://docs-topaz-pi.vercel.app/docs/quickstart/next-steps): Configure SuperTokens for production-ready authentication, explore additional methods, and customize flows.
- [Build with AI](https://docs-topaz-pi.vercel.app/docs/quickstart/build-with-ai-tools): Use SuperTokens documentation directly in AI chat and coding tools.

### Integrations

- [Overview](https://docs-topaz-pi.vercel.app/docs/quickstart/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/quickstart/integrations/graphql): Set up backend session verification in GraphQL resolvers using SuperTokens for user authentication.
- [Hasura](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/hasura): Learn how to use SuperTokens with Hasura
- [NestJS](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/nestjs): Integrate SuperTokens with NestJS backend, covering modules, services, middleware, and session management.
- [Netlify](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/netlify): Learn to set up SuperTokens authentication with Netlify using serverless functions.
- [Supabase](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/supabase): Integrate SuperTokens with Supabase in a Next.js app for secure user data management.
- [Vercel](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/vercel): Learn how to integrate SuperTokens with Vercel 

#### AWS Lambda

- [Quickstart Guide](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/aws-lambda/quickstart-guide): Learn how to integrate SuperTokens with AWS Lambda
- [Session Verification](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/aws-lambda/session-verification): Verify user sessions when integrating SuperTokens with AWS Lambda.
- [AppSync integration](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/aws-lambda/appsync-integration): Integrate Supertokens with AppSync using Lambda Authorizer for secure API Gateway configuration.

#### NextJS

##### App Directory

- [About](https://docs-topaz-pi.vercel.app/docs/quickstart/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/quickstart/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/quickstart/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/quickstart/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/quickstart/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/quickstart/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/quickstart/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/quickstart/integrations/nextjs/app-directory/protecting-backend/session-verification-session-guard): Implement session guards for API routes to manage user authentication and session validation.
- [Using the Next.js middleware](https://docs-topaz-pi.vercel.app/docs/quickstart/integrations/nextjs/app-directory/protecting-backend/session-verification-middleware): Implement session verification in Next.js middleware to manage user authentication and retrieve user IDs.

##### Pages Directory

- [About](https://docs-topaz-pi.vercel.app/docs/quickstart/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/quickstart/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/quickstart/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/quickstart/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/quickstart/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/quickstart/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/quickstart/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/quickstart/integrations/nextjs/pages-directory/protecting-backend/in-ssr): Verify user sessions in Next.js using `getServerSideProps` for secure route access.

## 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.
- [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 an allow list 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.
- [OAuth2 Basics](https://docs-topaz-pi.vercel.app/docs/authentication/unified-login/oauth2-basics): Authenticate multiple applications using SuperTokens and OAuth2 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 tokens using JWT libraries or the introspection endpoint 
- [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 OAuth2

### 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 JWT-based 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): Explore three session verification methods with SuperTokens: middleware, function, and manual JWT verification.
- [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 session verification during server-side rendering using cookie-based sessions and JWT verification.
- [WebSocket session verification](https://docs-topaz-pi.vercel.app/docs/additional-verification/session-verification/with-websocket): Verify WebSocket sessions by fetching and sending JWTs during socket connection initialization.
- [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.

#### Migration

- [Migration from legacy MFA to new MFA method](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/migration/legacy-to-new): Migrate from legacy to new MFA method, integrating backend and frontend changes for enhanced security.
- [Migration from an older SuperTokens SDK to a newer one](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/migration/old-sdk-to-new): Upgrade your SuperTokens SDK to enable MFA, ensuring compatibility and smooth transition for existing users.

#### Legacy method

- [Legacy vs New method](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/legacy-vs-new): Compare legacy and new MFA methods, highlighting limitations and scenarios for using the legacy approach.
- [How it works](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/how-it-works): Implement multi-factor authentication using customizable auth recipes, including session management and second factor validation.
- [Using a custom UI](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/frontend-custom): Implement custom UI for multi-factor authentication using SuperTokens recipes and session management.

##### Backend Setup

- [Setting up the first factor](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/backend-setup/first-factor): Set up the first authentication factor using SuperTokens with various frameworks.
- [Setting up the second factor](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/backend-setup/second-factor): Configure SMS OTP as a second authentication factor using the Passwordless recipe.
- [Protecting API routes](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/backend-setup/protecting-api): Protect API routes by enforcing 2FA using session claim validators in various programming languages.

##### Using prebuilt UI

- [1. Recipe init](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/prebuilt-ui/init): Initialize authentication with ThirdParty, EmailPassword, Passwordless, and MultiFactorAuth using SuperTokens.
- [2. Showing the first and second factor UI](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/prebuilt-ui/showing-login-ui): Implement a custom second factor UI for legacy multi-factor authentication.
- [3. Protecting routes](https://docs-topaz-pi.vercel.app/docs/additional-verification/mfa/legacy-mfa/prebuilt-ui/protecting-routes): Wrap application routes with `SessionAuth` to ensure multi-factor authentication completion.

### 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 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.

## 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

- [Secure SuperTokens Core with 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 with Docker or on a VM, connect PostgreSQL 13 or newer for persistent storage, and verify service health.
- [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)
