tinbase 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,6 +12,12 @@ export const DEFAULT_AUTH_SETTINGS = {
12
12
  maxEnrolledFactors: 10,
13
13
  totpEnrollEnabled: true,
14
14
  totpVerifyEnabled: true,
15
+ phoneEnabled: false,
16
+ smsAutoconfirm: true,
17
+ smsOtpLength: 6,
18
+ smsOtpExpirySeconds: 60,
19
+ maxSmsFrequencySeconds: 60,
20
+ smsTwilio: { accountSid: '', authToken: '', messageServiceSid: '' },
15
21
  };
16
22
  /** Clamp/typecheck a stored or patched settings object into a valid one. */
17
23
  function sanitize(raw) {
@@ -52,6 +58,29 @@ function sanitize(raw) {
52
58
  s.totpEnrollEnabled = raw.totpEnrollEnabled;
53
59
  if (typeof raw.totpVerifyEnabled === 'boolean')
54
60
  s.totpVerifyEnabled = raw.totpVerifyEnabled;
61
+ if (typeof raw.phoneEnabled === 'boolean')
62
+ s.phoneEnabled = raw.phoneEnabled;
63
+ if (typeof raw.smsAutoconfirm === 'boolean')
64
+ s.smsAutoconfirm = raw.smsAutoconfirm;
65
+ if (typeof raw.smsOtpLength === 'number' && Number.isFinite(raw.smsOtpLength)) {
66
+ s.smsOtpLength = Math.max(6, Math.min(10, Math.floor(raw.smsOtpLength)));
67
+ }
68
+ if (typeof raw.smsOtpExpirySeconds === 'number' && Number.isFinite(raw.smsOtpExpirySeconds) && raw.smsOtpExpirySeconds > 0) {
69
+ s.smsOtpExpirySeconds = Math.floor(raw.smsOtpExpirySeconds);
70
+ }
71
+ if (typeof raw.maxSmsFrequencySeconds === 'number' &&
72
+ Number.isFinite(raw.maxSmsFrequencySeconds) &&
73
+ raw.maxSmsFrequencySeconds >= 0) {
74
+ s.maxSmsFrequencySeconds = Math.min(3600, Math.floor(raw.maxSmsFrequencySeconds));
75
+ }
76
+ if (raw.smsTwilio && typeof raw.smsTwilio === 'object') {
77
+ const t = raw.smsTwilio;
78
+ s.smsTwilio = {
79
+ accountSid: typeof t.accountSid === 'string' ? t.accountSid.trim() : '',
80
+ authToken: typeof t.authToken === 'string' ? t.authToken.trim() : '',
81
+ messageServiceSid: typeof t.messageServiceSid === 'string' ? t.messageServiceSid.trim() : '',
82
+ };
83
+ }
55
84
  return s;
56
85
  }
57
86
  /**
@@ -64,20 +93,58 @@ function sanitize(raw) {
64
93
  * toggles are overrides on top, so both models coexist.
65
94
  */
66
95
  export async function loadAuthSettings(db, defaults = {}) {
67
- const base = sanitize({ ...DEFAULT_AUTH_SETTINGS, ...defaults });
96
+ const base = resolveAuthDefaults(defaults);
68
97
  try {
69
98
  const res = await db.query(`select value from auth.config where key = 'settings'`);
70
99
  const stored = res.rows[0]?.value;
71
- return stored ? sanitize({ ...base, ...stored }) : base;
100
+ return stored ? sanitize(mergeSettings(base, stored)) : base;
72
101
  }
73
102
  catch {
74
103
  return base;
75
104
  }
76
105
  }
77
- /** Persist the settings object to auth.config. */
78
- export async function saveAuthSettings(db, settings) {
106
+ /** The committed baseline (built-in defaults under config.toml / env), before any persisted Studio edit. */
107
+ export function resolveAuthDefaults(defaults = {}) {
108
+ return sanitize({ ...DEFAULT_AUTH_SETTINGS, ...defaults });
109
+ }
110
+ /**
111
+ * Layer `patch` over `base`. `smsTwilio` merges field by field, and an empty
112
+ * field in the patch is "no override" rather than a value: a stored row (or a
113
+ * Studio edit) that names only the auth token keeps the account sid
114
+ * config.toml or the environment supplied, and clearing a field in Studio
115
+ * falls back to the committed one. Every other key replaces outright.
116
+ */
117
+ function mergeSettings(base, patch) {
118
+ const out = { ...base, ...patch };
119
+ if (patch.smsTwilio && typeof patch.smsTwilio === 'object') {
120
+ const p = patch.smsTwilio;
121
+ const pick = (k) => typeof p[k] === 'string' && p[k].trim() !== '' ? p[k] : base.smsTwilio[k];
122
+ out.smsTwilio = { accountSid: pick('accountSid'), authToken: pick('authToken'), messageServiceSid: pick('messageServiceSid') };
123
+ }
124
+ return out;
125
+ }
126
+ /**
127
+ * Persist the settings object to auth.config.
128
+ *
129
+ * With `baseline` (what config.toml and the environment supplied at boot), a
130
+ * Twilio field that still equals it is stored empty rather than copied: the
131
+ * persisted row then carries only what was changed in Studio, and a credential
132
+ * a platform injects through the environment is not frozen into the database
133
+ * - rotate the key, restart, and the new one is what sends.
134
+ */
135
+ export async function saveAuthSettings(db, settings, baseline) {
136
+ const stored = baseline
137
+ ? {
138
+ ...settings,
139
+ smsTwilio: {
140
+ accountSid: settings.smsTwilio.accountSid === baseline.smsTwilio.accountSid ? '' : settings.smsTwilio.accountSid,
141
+ authToken: settings.smsTwilio.authToken === baseline.smsTwilio.authToken ? '' : settings.smsTwilio.authToken,
142
+ messageServiceSid: settings.smsTwilio.messageServiceSid === baseline.smsTwilio.messageServiceSid ? '' : settings.smsTwilio.messageServiceSid,
143
+ },
144
+ }
145
+ : settings;
79
146
  await db.query(`insert into auth.config (key, value, updated_at) values ('settings', $1::jsonb, now())
80
- on conflict (key) do update set value = excluded.value, updated_at = now()`, [JSON.stringify(settings)]);
147
+ on conflict (key) do update set value = excluded.value, updated_at = now()`, [JSON.stringify(stored)]);
81
148
  }
82
149
  /**
83
150
  * Apply a partial patch onto the shared settings object IN PLACE (so every
@@ -88,9 +155,26 @@ export async function saveAuthSettings(db, settings) {
88
155
  export function applyAuthSettingsPatch(target, patch) {
89
156
  // Every AuthSettings key is patchable; unknown keys are rejected so a typo
90
157
  // fails loudly instead of being silently dropped by sanitize().
91
- const BOOL_KEYS = ['disableSignup', 'anonymousUsers', 'autoconfirm', 'totpEnrollEnabled', 'totpVerifyEnabled'];
92
- const NUMBER_KEYS = ['minPasswordLength', 'otpLength', 'otpExpirySeconds', 'maxEnrolledFactors'];
93
- const KEYS = [...BOOL_KEYS, ...NUMBER_KEYS, 'disabledProviders'];
158
+ const BOOL_KEYS = [
159
+ 'disableSignup',
160
+ 'anonymousUsers',
161
+ 'autoconfirm',
162
+ 'totpEnrollEnabled',
163
+ 'totpVerifyEnabled',
164
+ 'phoneEnabled',
165
+ 'smsAutoconfirm',
166
+ ];
167
+ const NUMBER_KEYS = [
168
+ 'minPasswordLength',
169
+ 'otpLength',
170
+ 'otpExpirySeconds',
171
+ 'maxEnrolledFactors',
172
+ 'maxEmailFrequencySeconds',
173
+ 'smsOtpLength',
174
+ 'smsOtpExpirySeconds',
175
+ 'maxSmsFrequencySeconds',
176
+ ];
177
+ const KEYS = [...BOOL_KEYS, ...NUMBER_KEYS, 'disabledProviders', 'smsTwilio'];
94
178
  for (const k of Object.keys(patch)) {
95
179
  if (!KEYS.includes(k))
96
180
  return `unknown setting: ${k}`;
@@ -105,6 +189,10 @@ export function applyAuthSettingsPatch(target, patch) {
105
189
  otpLength: { min: 6, max: 10 },
106
190
  otpExpirySeconds: { min: 1, max: Number.MAX_SAFE_INTEGER },
107
191
  maxEnrolledFactors: { min: 1, max: Number.MAX_SAFE_INTEGER },
192
+ maxEmailFrequencySeconds: { min: 0, max: 3600 },
193
+ smsOtpLength: { min: 6, max: 10 },
194
+ smsOtpExpirySeconds: { min: 1, max: Number.MAX_SAFE_INTEGER },
195
+ maxSmsFrequencySeconds: { min: 0, max: 3600 },
108
196
  };
109
197
  for (const k of NUMBER_KEYS) {
110
198
  if (!(k in patch))
@@ -123,7 +211,18 @@ export function applyAuthSettingsPatch(target, patch) {
123
211
  return 'disabledProviders must be an array of provider names';
124
212
  }
125
213
  }
126
- Object.assign(target, sanitize({ ...target, ...patch }));
214
+ if ('smsTwilio' in patch) {
215
+ const t = patch.smsTwilio;
216
+ if (!t || typeof t !== 'object' || Array.isArray(t))
217
+ return 'smsTwilio must be an object';
218
+ for (const k of Object.keys(t)) {
219
+ if (!['accountSid', 'authToken', 'messageServiceSid'].includes(k))
220
+ return `unknown smsTwilio field: ${k}`;
221
+ if (typeof t[k] !== 'string')
222
+ return `smsTwilio.${k} must be a string`;
223
+ }
224
+ }
225
+ Object.assign(target, sanitize(mergeSettings(target, patch)));
127
226
  return null;
128
227
  }
129
228
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/auth/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/auth/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Phone OTP delivery: Twilio's Messages API, which is what Supabase's
3
+ * `[auth.sms.twilio]` provider speaks, so a project's block works unchanged
4
+ * on either.
5
+ *
6
+ * Deliberately a plain REST call rather than the `twilio` package: the API is
7
+ * one form-encoded POST with Basic auth, and a dependency that pulls in half of
8
+ * npm for it would be the heavier choice in a package meant to stay small.
9
+ *
10
+ * `apiUrl` exists for the same reason `TINBASE_RESEND_ENDPOINT` does. A
11
+ * platform hosting many tenants points it at its own Twilio-shaped gateway:
12
+ * the gateway holds the real credential, so no tenant container does, and it
13
+ * can attribute and cap each tenant's sending. The payload is the same either
14
+ * way, which is what makes the provider portable - a self-hoster leaves it at
15
+ * Twilio and uses their own account.
16
+ */
17
+ import type { SmsMessage, SmsSender } from '../types.js';
18
+ /** `[auth.sms.twilio]`, using Supabase's key names. */
19
+ export interface TwilioConfig {
20
+ accountSid: string;
21
+ authToken: string;
22
+ /** Twilio Messaging Service (MG…) the message is sent through. */
23
+ messageServiceSid?: string;
24
+ /** Base URL of the API; default https://api.twilio.com. */
25
+ apiUrl?: string;
26
+ /** Injectable for tests; defaults to global fetch. */
27
+ fetch?: typeof fetch;
28
+ }
29
+ export declare const DEFAULT_TWILIO_API_URL = "https://api.twilio.com";
30
+ /** The default `[auth.sms] template`: GoTrue's, with `{{ .Code }}` as the OTP. */
31
+ export declare const DEFAULT_SMS_TEMPLATE = "Your code is {{ .Code }}";
32
+ /** Substitute `{{ .Code }}` (any inner spacing, as Go's template syntax allows) into the SMS template. */
33
+ export declare function renderSmsTemplate(template: string, code: string): string;
34
+ /**
35
+ * Normalize a phone number the way GoTrue does: strip formatting, drop the
36
+ * leading `+`, and require E.164's shape (1-15 digits, no leading zero).
37
+ * Returns the bare digits, which is how `auth.users.phone` is stored and what
38
+ * supabase-js hands back in `user.phone`, or null when it is not a phone number.
39
+ */
40
+ export declare function normalizePhone(raw: string): string | null;
41
+ /** The E.164 form a provider wants on the wire: the stored digits with `+` in front. */
42
+ export declare function e164(stored: string): string;
43
+ export declare class TwilioSmsSender implements SmsSender {
44
+ private readonly cfg;
45
+ private readonly fetch;
46
+ private readonly apiUrl;
47
+ constructor(cfg: TwilioConfig);
48
+ send(msg: SmsMessage): Promise<string | void>;
49
+ }
@@ -0,0 +1,65 @@
1
+ export const DEFAULT_TWILIO_API_URL = 'https://api.twilio.com';
2
+ /** The default `[auth.sms] template`: GoTrue's, with `{{ .Code }}` as the OTP. */
3
+ export const DEFAULT_SMS_TEMPLATE = 'Your code is {{ .Code }}';
4
+ /** Substitute `{{ .Code }}` (any inner spacing, as Go's template syntax allows) into the SMS template. */
5
+ export function renderSmsTemplate(template, code) {
6
+ return template.replace(/\{\{\s*\.Code\s*\}\}/g, code);
7
+ }
8
+ /**
9
+ * Normalize a phone number the way GoTrue does: strip formatting, drop the
10
+ * leading `+`, and require E.164's shape (1-15 digits, no leading zero).
11
+ * Returns the bare digits, which is how `auth.users.phone` is stored and what
12
+ * supabase-js hands back in `user.phone`, or null when it is not a phone number.
13
+ */
14
+ export function normalizePhone(raw) {
15
+ const digits = raw.trim().replace(/^\+/, '').replace(/[\s().-]/g, '');
16
+ return /^[1-9]\d{1,14}$/.test(digits) ? digits : null;
17
+ }
18
+ /** The E.164 form a provider wants on the wire: the stored digits with `+` in front. */
19
+ export function e164(stored) {
20
+ return stored.startsWith('+') ? stored : `+${stored}`;
21
+ }
22
+ export class TwilioSmsSender {
23
+ cfg;
24
+ fetch;
25
+ apiUrl;
26
+ constructor(cfg) {
27
+ this.cfg = cfg;
28
+ if (!cfg.accountSid)
29
+ throw new Error('Twilio: account_sid is required');
30
+ if (!cfg.authToken)
31
+ throw new Error('Twilio: auth_token is required');
32
+ this.fetch = cfg.fetch ?? globalThis.fetch;
33
+ this.apiUrl = (cfg.apiUrl || DEFAULT_TWILIO_API_URL).replace(/\/+$/, '');
34
+ }
35
+ async send(msg) {
36
+ const form = new URLSearchParams({ To: e164(msg.to), Body: msg.body });
37
+ if (this.cfg.messageServiceSid)
38
+ form.set('MessagingServiceSid', this.cfg.messageServiceSid);
39
+ const res = await this.fetch(`${this.apiUrl}/2010-04-01/Accounts/${encodeURIComponent(this.cfg.accountSid)}/Messages.json`, {
40
+ method: 'POST',
41
+ headers: {
42
+ authorization: `Basic ${btoa(`${this.cfg.accountSid}:${this.cfg.authToken}`)}`,
43
+ 'content-type': 'application/x-www-form-urlencoded',
44
+ },
45
+ body: form.toString(),
46
+ });
47
+ // Twilio answers 201 for an accepted message; the body carries the sid and
48
+ // status, or `code` + `message` for a refusal.
49
+ let body = {};
50
+ try {
51
+ body = (await res.json());
52
+ }
53
+ catch {
54
+ /* non-JSON error body */
55
+ }
56
+ if (!res.ok) {
57
+ // The reason without the message body, which carries the OTP.
58
+ const detail = body.message ? ` ${body.message}` : '';
59
+ const code = body.code ? ` (${body.code})` : '';
60
+ throw new Error(`Twilio rejected SMS to ${e164(msg.to)}: HTTP ${res.status}${code}${detail}`);
61
+ }
62
+ return body.sid;
63
+ }
64
+ }
65
+ //# sourceMappingURL=sms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sms.js","sourceRoot":"","sources":["../../src/auth/sms.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -413,6 +413,17 @@ SMTP (env, mirroring GOTRUE_SMTP_*):
413
413
 
414
414
  A project overrides all of the above with [auth.email.smtp] in
415
415
  supabase/config.toml (host, port, user, pass, admin_email, sender_name).
416
+
417
+ SMS (env, filling any [auth.sms.twilio] field the project left empty):
418
+ TINBASE_SMS_TWILIO_ACCOUNT_SID
419
+ TINBASE_SMS_TWILIO_AUTH_TOKEN
420
+ TINBASE_SMS_TWILIO_MESSAGE_SERVICE_SID
421
+ TINBASE_SMS_TWILIO_API_URL a Twilio-compatible gateway instead of
422
+ api.twilio.com (a platform gateway that holds
423
+ the real credential and meters each tenant)
424
+
425
+ Phone auth itself is switched on by [auth.sms] enable_signup = true. Without
426
+ credentials the codes land in the dev inbox at /inbox and are never sent.
416
427
  TINBASE_SITE_URL public URL of the APP: the default redirect for
417
428
  emailed links (overrides config.toml auth.site_url
418
429
  and the bound address)
@@ -765,6 +776,49 @@ async function main() {
765
776
  process.exit(1);
766
777
  }
767
778
  }
779
+ // Phone OTP: Supabase's [auth.sms.twilio] block, with TINBASE_SMS_TWILIO_*
780
+ // filling any field the project left empty. Env exists for the same reason
781
+ // as TINBASE_SMTP_*: a platform configures containers through the
782
+ // environment, and here it points every tenant's "Twilio" at its own gateway
783
+ // (api_url) with the tenant's key as the auth token - the gateway holds the
784
+ // real Twilio credential, so no container does. A project with its own
785
+ // account fills the block itself and the env is never consulted.
786
+ //
787
+ // `enabled = false` in the block switches the provider off outright; absent,
788
+ // credentials from either source are used. Missing credentials are not a
789
+ // startup error: phone auth is off unless [auth.sms] enable_signup turns it
790
+ // on, and when it is on with nothing to send through, the texts land in the
791
+ // dev inbox (or are logged as unsent) - the same posture as mail.
792
+ const twilioCfg = cfg.auth.smsTwilio ?? {};
793
+ const twilioEnabled = twilioCfg.enabled !== false;
794
+ const smsTwilio = twilioEnabled
795
+ ? {
796
+ accountSid: twilioCfg.accountSid || process.env.TINBASE_SMS_TWILIO_ACCOUNT_SID || '',
797
+ authToken: twilioCfg.authToken || process.env.TINBASE_SMS_TWILIO_AUTH_TOKEN || '',
798
+ messageServiceSid: twilioCfg.messageServiceSid || process.env.TINBASE_SMS_TWILIO_MESSAGE_SERVICE_SID || '',
799
+ }
800
+ : { accountSid: '', authToken: '', messageServiceSid: '' };
801
+ const smsApiUrl = twilioCfg.apiUrl || process.env.TINBASE_SMS_TWILIO_API_URL || undefined;
802
+ if (smsApiUrl !== undefined) {
803
+ try {
804
+ new URL(smsApiUrl);
805
+ }
806
+ catch {
807
+ console.error(`auth.sms.twilio.api_url / TINBASE_SMS_TWILIO_API_URL is not a valid URL: ${smsApiUrl}`);
808
+ process.exit(1);
809
+ }
810
+ }
811
+ if (twilioCfg.enabled === true && (!smsTwilio.accountSid || !smsTwilio.authToken)) {
812
+ console.error('auth.sms.twilio: enabled, but account_sid / auth_token are empty and TINBASE_SMS_TWILIO_ACCOUNT_SID / ' +
813
+ '_AUTH_TOKEN are not set. Phone OTP codes will not be delivered until they are.');
814
+ }
815
+ const smsDescription = !cfg.auth.settings.phoneEnabled
816
+ ? 'off ([auth.sms] enable_signup = false)'
817
+ : smsTwilio.accountSid && smsTwilio.authToken
818
+ ? `Twilio via ${new URL(smsApiUrl ?? 'https://api.twilio.com').host}${twilioCfg.accountSid ? '' : ' [env]'}`
819
+ : isNetworkExposed(opts.host)
820
+ ? 'NOT CONFIGURED - no SMS is sent, and /inbox is off on a network-exposed host'
821
+ : 'dev inbox (not delivered)';
768
822
  // Load the bodies named by [auth.email.template.*].content_path. Read here
769
823
  // rather than in load-config because that module is shared with the browser
770
824
  // build, which has no filesystem. A missing or unreadable file is a startup
@@ -835,7 +889,9 @@ async function main() {
835
889
  jwtExpiry: cfg.auth.jwtExpiry,
836
890
  uriAllowList,
837
891
  authEnabled: cfg.auth.enabled,
838
- authSettings: cfg.auth.settings,
892
+ authSettings: { ...cfg.auth.settings, smsTwilio },
893
+ smsApiUrl,
894
+ smsTemplate: cfg.auth.smsTemplate,
839
895
  authRateLimits: cfg.auth.rateLimits,
840
896
  sessionTimeboxSeconds: cfg.auth.sessionTimeboxSeconds,
841
897
  oauthProviders: cfg.auth.oauthProviders,
@@ -893,6 +949,7 @@ async function main() {
893
949
  Admin UI: ${server.url}/_/
894
950
  Email: ${sendEmailHook || mailer ? mailDescription : isNetworkExposed(opts.host) ? 'NOT CONFIGURED - no auth email is sent, and /inbox is off on a network-exposed host' : `dev inbox at ${server.url}/inbox (not delivered)`}
895
951
  Mail templates: ${Object.keys(emailTemplates).length ? Object.keys(emailTemplates).join(', ') : 'built-in defaults'}
952
+ SMS: ${smsDescription}
896
953
  Site URL: ${siteUrl}${apiExternalUrl === siteUrl ? '' : `\n API external: ${apiExternalUrl}`}
897
954
  Redirects to: ${uriAllowList.length ? uriAllowList.join(', ') : 'the site URL origin only'}
898
955
  Engine: ${opts.engine === 'native' ? `native postgres (${dataDir})` : opts.engine === 'pgmem' ? 'pg-mem (in-memory, lite)' : `PGlite (${opts.memory ? 'in-memory' : dataDir})`}
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}