This is a contributors guide and NOT a user guide. Please visit these docs if you are using or evaluating SuperTokens.
Other than the SDK and core layers, we have a few other components:
- Database plugins: We have one Java plugin project per database. For example, this is the MySQL plugin.
- Plugin interface: These are a set of Java interfaces that allows the core to use a database plugin that implements this interface. There are separate interfaces for SQL and NoSQL databases.
- Core Driver Interface (CDI): This is an http API spec that is used to communicate between the core and the driver (backend SDKs)
- Frontend Driver Interface (FDI): This is an http interface that is used to communicate between the frontend SDKs and the driver (backend SDKs).
A recipe is one independent auth module that can be consumed "as is". It can be consumed by users in their app, or by other recipes.
For example, the session recipe can be used as is in an app to provide it session management, but it is also used by other recipes (like emailpassword / thirdparty / emailverification) in sign in / up APIs or to know if a user is logged in on the frontend.
See the recipes page to learn more about recipes.