@sheetbase/user v1.2.0
Sheetbase Module: @sheetbase/user
User management system.
Install
Using npm: npm install --save @sheetbase/user
import * as User from "@sheetbase/user";As a library: 1ThvmvlMcPVBFUzT2QUy6pHiAEsfrKbhLSmju-CCXatiLASXXb8KFssHr
Set the Indentifier to UserModule and select the lastest version, view code.
declare const UserModule: { User: any };
const User = UserModule.User;Usage
Docs homepage: https://sheetbase.github.io/user
API reference: https://sheetbase.github.io/user/api
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: create a user instance from datagetUser: get a userisUser: check if a user existsgetUserByEmailAndPassword: get user by email & passwordgetUserByCustomToken: by custom tokengetUserAnonymously: anomymouslygetUserByIdToken: id tokengetUserByOobCode: oob codegetUserByRefreshToken: refresh tokengetUserByOauthProvider: oauth providergetPublicUsers: public usersisValidPassword: check if password is valid
User
The user object.
getDatagetInfogetIdTokencomparePasswordgetProvidergetProfilegetPublicProfileupdateProfilesetAdditionalDatasetSettingssetProfilePubliclysetProfilePrivatelyupdateClaimssetlastLoginsetEmailconfirmEmailsetPasswordsetUsernamesetPhoneNumbersetOobsetRefreshTokendeletesave
Middlewares
Auth.IdTokenMiddlewareAuth.UserMiddleware
Routes
To add routes to your app, see options AddonRoutesOptions:
Auth.registerRoutes(options?: AddonRoutesOptions);License
@sheetbase/user is released under the MIT license.