There are three components to SuperTokens:
- Frontend SDK: Responsible for rendering the login UI widgets and managing session tokens automatically.
- Backend SDK: Provides APIs for sign-up, sign-in, signout, session refreshing.. which the frontend widgets talk to.
- SuperTokens Core: This is a Java HTTP service that contains the core logic for auth. It's responsible for interfacing with the database and is used by the SuperTokens backend SDK for operations that require the db.
Below is an example of how the three components interact for sign in and sign out flow (with email and password):
You do NOT need to know Java, nor do you have to be using Java to use SuperTokens in your application. Java is used for the SuperTokens core which is a http microservice that your backend talks to.