@sms/plugin-auth
Interfaces
AdminAuthorizer
Defined in: packages/plugins/auth/src/contract.ts:57
Properties
name
name: string;
Defined in: packages/plugins/auth/src/contract.ts:58
Methods
authorize()
authorize(req): boolean | Promise<boolean>;
Defined in: packages/plugins/auth/src/contract.ts:59
Parameters
| Parameter | Type |
|---|---|
req | RouteRequest |
Returns
boolean | Promise<boolean>
AuthOptions
Defined in: packages/plugins/auth/src/index.ts:28
Properties
bootstrapAdmin?
optional bootstrapAdmin?: {
login: string;
name?: string;
password: string;
};
Defined in: packages/plugins/auth/src/index.ts:30
Created on first boot when the user table is empty.
login
login: string;
name?
optional name?: string;
password
password: string;
iterations?
optional iterations?: number;
Defined in: packages/plugins/auth/src/index.ts:36
PBKDF2 iterations for new hashes. Default 100k; lower only in tests.
prefix?
optional prefix?: string;
Defined in: packages/plugins/auth/src/index.ts:34
Route prefix. Default /api/auth.
sessionTtlMs?
optional sessionTtlMs?: number;
Defined in: packages/plugins/auth/src/index.ts:32
Session lifetime. Default 30 days.
IdentityAdminService
Defined in: packages/plugins/auth/src/contract.ts:39
Key identity-admin — system-only user management.
Methods
activate()
activate(id): Promise<void>;
Defined in: packages/plugins/auth/src/contract.ts:46
Parameters
| Parameter | Type |
|---|---|
id | number |
Returns
Promise<void>
create()
create(input): Promise<User>;
Defined in: packages/plugins/auth/src/contract.ts:40
Parameters
| Parameter | Type |
|---|---|
input | { isAdmin?: boolean; login: string; name?: string; password: string; } |
input.isAdmin? | boolean |
input.login | string |
input.name? | string |
input.password | string |
Returns
Promise<User>
deactivate()
deactivate(id): Promise<void>;
Defined in: packages/plugins/auth/src/contract.ts:45
Also ends the user’s sessions.
Parameters
| Parameter | Type |
|---|---|
id | number |
Returns
Promise<void>
setAdmin()
setAdmin(id, isAdmin): Promise<void>;
Defined in: packages/plugins/auth/src/contract.ts:43
Parameters
| Parameter | Type |
|---|---|
id | number |
isAdmin | boolean |
Returns
Promise<void>
setPassword()
setPassword(id, password): Promise<void>;
Defined in: packages/plugins/auth/src/contract.ts:42
Also ends the user’s sessions.
Parameters
| Parameter | Type |
|---|---|
id | number |
password | string |
Returns
Promise<void>
IdentityService
Defined in: packages/plugins/auth/src/contract.ts:26
Key identity — no secrets; agent plugins may inject it.
Methods
login()
login(login, password): Promise<Session | undefined>;
Defined in: packages/plugins/auth/src/contract.ts:32
Verify a password and open a session; undefined on bad credentials or an inactive user.
Parameters
| Parameter | Type |
|---|---|
login | string |
password | string |
Returns
Promise<Session | undefined>
logout()
logout(token): Promise<void>;
Defined in: packages/plugins/auth/src/contract.ts:33
Parameters
| Parameter | Type |
|---|---|
token | string |
Returns
Promise<void>
session()
session(token): Promise<Session | undefined>;
Defined in: packages/plugins/auth/src/contract.ts:35
The session behind a token, if live.
Parameters
| Parameter | Type |
|---|---|
token | string |
Returns
Promise<Session | undefined>
user()
user(id): Promise<User | undefined>;
Defined in: packages/plugins/auth/src/contract.ts:30
Parameters
| Parameter | Type |
|---|---|
id | number |
Returns
Promise<User | undefined>
users()
users(): Promise<User[]>;
Defined in: packages/plugins/auth/src/contract.ts:29
Returns
Promise<User[]>
whoami()
whoami(req): Promise<User | undefined>;
Defined in: packages/plugins/auth/src/contract.ts:28
The user behind a request’s session cookie / bearer token; undefined when logged out, expired or deactivated.
Parameters
| Parameter | Type |
|---|---|
req | RouteRequest |
Returns
Promise<User | undefined>
Session
Defined in: packages/plugins/auth/src/contract.ts:19
Properties
expiresAt
expiresAt: string;
Defined in: packages/plugins/auth/src/contract.ts:22
token
token: string;
Defined in: packages/plugins/auth/src/contract.ts:20
user
user: User;
Defined in: packages/plugins/auth/src/contract.ts:21
User
Defined in: packages/plugins/auth/src/contract.ts:10
Properties
active
active: boolean;
Defined in: packages/plugins/auth/src/contract.ts:15
createdAt
createdAt: string;
Defined in: packages/plugins/auth/src/contract.ts:16
id
id: number;
Defined in: packages/plugins/auth/src/contract.ts:11
isAdmin
isAdmin: boolean;
Defined in: packages/plugins/auth/src/contract.ts:14
login
login: string;
Defined in: packages/plugins/auth/src/contract.ts:12
name
name: string;
Defined in: packages/plugins/auth/src/contract.ts:13
Variables
ADMIN_AUTHORIZER_POINT
const ADMIN_AUTHORIZER_POINT: "admin-authorizer" = 'admin-authorizer';
Defined in: packages/plugins/auth/src/contract.ts:55
Extension point (system-only) for AdminAuthorizer items admitting requests to the mutating admin routes
without the token. Owned by whichever of auth / admin-api activates first; auth contributes auth-session.
IDENTITY_ADMIN_KEY
const IDENTITY_ADMIN_KEY: "identity-admin" = 'identity-admin';
Defined in: packages/plugins/auth/src/contract.ts:50
IDENTITY_KEY
const IDENTITY_KEY: "identity" = 'identity';
Defined in: packages/plugins/auth/src/contract.ts:49
SESSION_COOKIE
const SESSION_COOKIE: "sms_session" = 'sms_session';
Defined in: packages/plugins/auth/src/routes.ts:13
Functions
createAuthPlugin()
function createAuthPlugin(opts?): SystemPlugin;
Defined in: packages/plugins/auth/src/index.ts:78
Parameters
| Parameter | Type |
|---|---|
opts | AuthOptions |
Returns
hashPassword()
function hashPassword(password, iterations?): Promise<string>;
Defined in: packages/plugins/auth/src/crypto.ts:31
pbkdf2$<iterations>$<salt>$<hash> — self-describing so iterations can be raised later.
Parameters
| Parameter | Type | Default value |
|---|---|---|
password | string | undefined |
iterations | number | PBKDF2_ITERATIONS |
Returns
Promise<string>
tokenOf()
function tokenOf(req): string | undefined;
Defined in: packages/plugins/auth/src/routes.ts:20
The session token a request carries: cookie first, then authorization: Bearer.
Parameters
| Parameter | Type |
|---|---|
req | RouteRequest |
Returns
string | undefined
verifyPassword()
function verifyPassword(password, stored): Promise<boolean>;
Defined in: packages/plugins/auth/src/crypto.ts:44
Parameters
| Parameter | Type |
|---|---|
password | string |
stored | string |
Returns
Promise<boolean>