User management system.
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;
-
Docs homepage: https://sheetbase.github.io/user
-
API reference: https://sheetbase.github.io/user/api
Install: npm install --save @sheetbase/user
Usage:
import { auth } from "@sheetbase/user";
const Auth = auth({
/* configs */
});
Sheetbase auth configs
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 */
});
Secret key for signing token.
App name or any prefix for using when sending OOB emails.
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}`,
}
Email subject builder.
type EmailSubject = (mode: string) => string;
Email body builder.
type EmailBody = (mode: string, url: string, userData: UserData) => string;
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
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
Auth.IdTokenMiddleware
Auth.UserMiddleware
To add routes to your app, see options AddonRoutesOptions:
Auth.registerRoutes(options?: AddonRoutesOptions);
@sheetbase/user is released under the MIT license.