Skip to main content

If you are using our backend SDK that is lesser than the following versions, please visit the older documentation link here.

EmailPassword with Social / Enterprise (OAuth 2.0, SAML) login

Features#

  • Sign-up / Sign-in with email and password or with OAuth 2.0 / OIDC / SAML providers (Like Google, Facebook, Active Directory, etc)
  • Forgot password flow using email
  • Secure session management
  • Email verification

Demo application#

  • See our live demo app.
  • We have a read-only user management dashboard (with fake data), and it can be accessed on this link. The credentials for logging in are:
    email: [email protected]
    password: abcd1234
  • Generate a starter app
    npx create-supertokens-app@latest --recipe=thirdpartyemailpassword
  • The user management dashboard for the starter app can be accessed on http://localhost:3001/auth/dashboard. You will have to first create users (instrs are on the dashboard UI), before logging in.

Architecture#

Flowchart of architecture when using SuperTokens managed service

There are three components to SuperTokens:

  • Frontend SDK: Provides pre built UI, helper functions and / or session management on the frontend.
  • Backend SDK:
  • SuperTokens core service: This is called by the backend SDK to maintain state in the database. This can either be self hosted using docker or be managed by us if you sign up on supertokens.com

Visit the how SuperTokens works section to learn more.

important
  • Unlike other auth providers, the frontend never talks to the SuperTokens core directly. All requests are to the APIs exposed via our backend SDK which then talks to the SuperTokens core.
  • If you are using a backend for which we do not have a SDK, you will have to spin up an additional auth service in a language for which we do have a backend SDK (NodeJS, Python or Golang). This auth service would issue a JWT which you can use to talk to your application's backend.
Multi Tenancy

SuperTokens also supports a multi tenant and multi app setup:

  • You can use a single SuperTokens core to allow several tenants / customers to login to your app via a method that's specific to them. For example, for B2B use cases, you can allow one customer to login via email password, whereas use Active Directory (enterprise login) for another customer.
  • You can use a single SuperTokens core across several independent apps or dev environments (dev, staging, prod etc).

To learn more about these features, visit our multi tenancy recipe docs.

Next steps#

  • To use our pre built UI, for websites or desktop apps, checkout this quick setup section.
  • To use your own UI, for websites, mobile or desktop apps, checkout the custom UI section.
  • Be sure to checkout our Integrations section to see a guide specific to the framework you are using.
  • You can even get started with our boilerplate generator CLI
    npx create-supertokens-app@latest
Looking for older versions of the documentation?
Which UI do you use?
Custom UI
Pre built UI