This page explains the low level functions exposed by the library and is intended for advanced users and curious minds. In most cases you'll be leveraging the library through the generated code that wraps these functions and exposes a higher level API in the form of a express route handler.

Importing the library

import {init, handleRequest} from '@subzerocloud/auth';

Initializing the library

The init function takes 3 parameters:

  • a database client (pg.Client) that will be used to run queries against the database
  • a nodemailer compatible object that will be used to send emails
  • a log function that will be used to log messages ( you'll probably want to log only in debug mode )
import pg from 'pg';
const { Client } = pg;
import nodemailer from 'nodemailer';
function logFn(m: string){ console.log('auth:', m);}
await init(Client, nodemailer, logFn);

Handling requests

The handleRequest function takes 2 parameters:

  • a request object (http.IncomingMessage)
  • a response object (http.ServerResponse)
await handleRequest(req, res)

For a list of endpoint exposed by the library see here

Auth Library Overview