docs

User Server

Sheetbase user management.

Git repo: https://github.com/sheetbase/user/

Getting started

Install: npm install --save @sheetbase/user

Usage:

import { auth } from '@sheetbase/user';

const Auth = auth({ /* configs */ });

Configs

Sheetbase auth configs

databaseDriver

Database driver for auth module, for now only driver support is @sheetbase/sheets.

import { sheets } from '@sheetbase/sheets';
import { auth, sheetsDriver } from '@sheetbase/user';

// Sheets instance
const Sheets = sheets({ /* configs */ });

const Auth = auth({
  databaseDriver: sheetsDriver(Sheets.toAdmin()),
  /* other configs */
});

encryptionSecret

Secret key for signing token.

emailPrefix

App name or any prefix for using when sending OOB emails.

authUrl

Custom url for handling oob actions, a string or a builder that recieves a mode and a code then returns the url.

type AuthUrl = string | ((mode: string, oobCode: string) => string);
// auth url with the apiKey
{
authUrl: (mode, oobCode) => ScriptApp.getService().getUrl() +
        '?e=auth/action&' +
        `mode=${mode}&oobCode=${oobCode}&`
        `apiKey=${apiKey}`,
}

emailSubject

Email subject builder.

type EmailSubject = (mode: string) => string;

emailBody

Email body builder.

type EmailBody = (mode: string, url: string, userData: UserData) => string;

Account

Account related actions.

User

The user object.

Middlewares

Routes

To add routes to your app, see options AddonRoutesOptions:

Auth.registerRoutes(options?: AddonRoutesOptions);