Skip to main content
Which frontend SDK do you use?
supertokens-web-js / mobile

Backend Setup

a) Complete the setup guides#

Follow the frontend and backend pre-built UI setup guides to setup SuperTokens.

b) Install GraphQL dependencies on your backend#


We use express-graphql as an example, SuperTokens can be used with other GraphQL libraries.

npm i express-graphql graphql

c) Setup GraphQL#

Create a schema#

import { buildSchema } from 'graphql';
var schema = buildSchema(`  type Query {    hello: String  }`);

Create resolvers#

var resolvers = {    hello: () => "Hello World!",}

Refer to the official guide to know more.

d) Add a GraphQL endpoint with optional session verification#

import express from "express"import { graphqlHTTP } from 'express-graphql';import { verifySession } from "supertokens-node/recipe/session/framework/express";import { buildSchema } from 'graphql';
var GraphQLSchema = buildSchema(`...`); // Refer to step cvar resolvers = {/* ... */ }; // Refer to step c// ...
let app = express();
/** The verifySession middleware adds the session object to req* { sessionRequired: false } allows access to the endpoint even * when a session does not exist*/app.use("/graphQL", verifySession({ sessionRequired: false }), graphqlHTTP(async (req: any, res) => {    return {        schema: GraphQLSchema,        rootValue: resolvers,        // req.session will be undefined if a session does not exist        context: {            session: req.session,        }    };}))

Refer to this page to know more about the session object