@sheetbase/user
v1.2.0
Published
User management system.
Downloads
3
Maintainers
Readme
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.
getData
getInfo
getIdToken
comparePassword
getProvider
getProfile
getPublicProfile
updateProfile
setAdditionalData
setSettings
setProfilePublicly
setProfilePrivately
updateClaims
setlastLogin
setEmail
confirmEmail
setPassword
setUsername
setPhoneNumber
setOob
setRefreshToken
delete
save
Middlewares
Auth.IdTokenMiddleware
Auth.UserMiddleware
Routes
To add routes to your app, see options AddonRoutesOptions:
Auth.registerRoutes(options?: AddonRoutesOptions);
License
@sheetbase/user is released under the MIT license.