3. Exposing Auth APIs
We will add all the backend APIs for auth on /auth/*. This can be changed by setting the apiBasePath property in the appInfo object on the backend and frontend. For the rest of this page, we will assume you are using /auth/*.
Copy this snippet to your handler file#
- NodeJS
 - Python
 
An example of this can be found here.
auth.js
import supertokens from "supertokens-node";import { middleware } from "supertokens-node/framework/awsLambda";import { getBackendConfig } from "./config";import middy from "@middy/core";import cors from "@middy/http-cors";
supertokens.init(getBackendConfig());
module.exports.handler = middy(middleware()).use(cors({    origin: getBackendConfig().appInfo.websiteDomain,    credentials: true,    headers: ["Content-Type", ...supertokens.getAllCORSHeaders()].join(", "),    methods: "OPTIONS,POST,GET,PUT,DELETE"})).onError(request => {    throw request.error;});auth.py
import nest_asyncio nest_asyncio.apply() 
from fastapi import FastAPIfrom starlette.middleware.cors import CORSMiddlewarefrom mangum import Mangum
from supertokens_python import init, get_all_cors_headersfrom supertokens_python.framework.fastapi import get_middleware
import config 
init(    supertokens_config=config.supertokens_config,     app_info=config.app_info,     framework=config.framework,     recipe_list=config.recipe_list,     mode="asgi",)
app = FastAPI(title="SuperTokens Example")app.add_middleware(get_middleware())
app = CORSMiddleware(    app=app,    allow_origins=[        config.app_info.website_domain      ],    allow_credentials=True,    allow_methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"],    allow_headers=["Content-Type"] + get_all_cors_headers(),)
handler = Mangum(app)important
Notice that we called supertokens.init above. We will need to call this in all API endpoints that use any functions related to supertokens.