User management system.
npm install @sheetbase/usernpm install --save @sheetbase/user
ts
import * as User from "@sheetbase/user";
`
As a library: 1ThvmvlMcPVBFUzT2QUy6pHiAEsfrKbhLSmju-CCXatiLASXXb8KFssHr
Set the _Indentifier_ to UserModule and select the lastest version, view code.
`ts
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:
`ts
import { auth } from "@sheetbase/user";
const Auth = auth({
/ configs /
});
`
Configs
Sheetbase auth configs
$3
Database driver for auth module, for now only driver support is @sheetbase/sheets.
`ts
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 /
});
`
$3
Secret key for signing token.
$3
App name or any prefix for using when sending OOB emails.
$3
Custom url for handling oob actions, a string or a builder that recieves a mode and a code then returns the url.
`ts
type AuthUrl = string | ((mode: string, oobCode: string) => string);
`
`ts
// auth url with the apiKey
{
authUrl: (mode, oobCode) => ScriptApp.getService().getUrl() +
'?e=auth/action&' +
mode=${mode}&oobCode=${oobCode}&
apiKey=${apiKey},
}
`
$3
Email subject builder.
`ts
type EmailSubject = (mode: string) => string;
`
$3
Email body builder.
`ts
type EmailBody = (mode: string, url: string, userData: UserData) => string;
`
Account
Account related actions.
- user: create a user instance from data
- getUser: get a user
- isUser: check if a user exists
- getUserByEmailAndPassword: get user by email & password
- getUserByCustomToken: by custom token
- getUserAnonymously: anomymously
- getUserByIdToken: id token
- getUserByOobCode: oob code
- getUserByRefreshToken: refresh token
- getUserByOauthProvider: oauth provider
- getPublicUsers: public users
- isValidPassword: 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:
`ts
Auth.registerRoutes(options?: AddonRoutesOptions);
``