@openora/core 0.4.1-canary.140 → 0.4.1-canary.141

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.
Files changed (82) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/schemas/events.d.ts +3 -1
  3. package/dist/contracts/schemas/events.d.ts.map +1 -1
  4. package/dist/contracts/schemas/events.js +3 -0
  5. package/dist/contracts/schemas/events.js.map +1 -1
  6. package/dist/contracts/schemas/identity.d.ts +31 -1
  7. package/dist/contracts/schemas/identity.d.ts.map +1 -1
  8. package/dist/contracts/schemas/identity.js +36 -7
  9. package/dist/contracts/schemas/identity.js.map +1 -1
  10. package/dist/contracts/schemas/mail.d.ts +9 -1
  11. package/dist/contracts/schemas/mail.d.ts.map +1 -1
  12. package/dist/contracts/schemas/mail.js +3 -0
  13. package/dist/contracts/schemas/mail.js.map +1 -1
  14. package/dist/mail/adapters/default-email-template-renderer.d.ts.map +1 -1
  15. package/dist/mail/adapters/default-email-template-renderer.js +6 -0
  16. package/dist/mail/adapters/default-email-template-renderer.js.map +1 -1
  17. package/dist/mail/contract/index.d.ts +5 -0
  18. package/dist/mail/contract/index.d.ts.map +1 -1
  19. package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js +7 -1
  20. package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js.map +1 -1
  21. package/dist/pam/identity/__tests__/identity.registration-gates.int.test.js +5 -0
  22. package/dist/pam/identity/__tests__/identity.registration-gates.int.test.js.map +1 -1
  23. package/dist/pam/identity/__tests__/identity.service.int.test.js +38 -4
  24. package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -1
  25. package/dist/pam/identity/__tests__/two-factor-delivery.test.d.ts +2 -0
  26. package/dist/pam/identity/__tests__/two-factor-delivery.test.d.ts.map +1 -0
  27. package/dist/pam/identity/__tests__/two-factor-delivery.test.js +23 -0
  28. package/dist/pam/identity/__tests__/two-factor-delivery.test.js.map +1 -0
  29. package/dist/pam/identity/contract/index.d.ts +26 -1
  30. package/dist/pam/identity/contract/index.d.ts.map +1 -1
  31. package/dist/pam/identity/contract/index.js +14 -1
  32. package/dist/pam/identity/contract/index.js.map +1 -1
  33. package/dist/pam/identity/drizzle/migrations/0012_worried_nuke.sql +2 -0
  34. package/dist/pam/identity/drizzle/migrations/0013_backfill_two_factor_method.sql +6 -0
  35. package/dist/pam/identity/drizzle/migrations/meta/0012_snapshot.json +1090 -0
  36. package/dist/pam/identity/drizzle/migrations/meta/0013_snapshot.json +1090 -0
  37. package/dist/pam/identity/drizzle/migrations/meta/_journal.json +14 -0
  38. package/dist/pam/identity/plugin.d.ts.map +1 -1
  39. package/dist/pam/identity/plugin.js +6 -0
  40. package/dist/pam/identity/plugin.js.map +1 -1
  41. package/dist/pam/identity/react/account.d.ts +10 -4
  42. package/dist/pam/identity/react/account.d.ts.map +1 -1
  43. package/dist/pam/identity/react/account.js +14 -0
  44. package/dist/pam/identity/react/account.js.map +1 -1
  45. package/dist/pam/identity/react/auth.d.ts +1 -0
  46. package/dist/pam/identity/react/auth.d.ts.map +1 -1
  47. package/dist/pam/identity/router/index.d.ts +26 -1
  48. package/dist/pam/identity/router/index.d.ts.map +1 -1
  49. package/dist/pam/identity/router/index.js +2 -0
  50. package/dist/pam/identity/router/index.js.map +1 -1
  51. package/dist/pam/identity/schema/index.d.ts +18 -0
  52. package/dist/pam/identity/schema/index.d.ts.map +1 -1
  53. package/dist/pam/identity/schema/index.js +6 -1
  54. package/dist/pam/identity/schema/index.js.map +1 -1
  55. package/dist/pam/identity/service/admin-security.service.d.ts.map +1 -1
  56. package/dist/pam/identity/service/admin-security.service.js +3 -0
  57. package/dist/pam/identity/service/admin-security.service.js.map +1 -1
  58. package/dist/pam/identity/service/fresh-reauthentication.service.d.ts.map +1 -1
  59. package/dist/pam/identity/service/fresh-reauthentication.service.js +4 -9
  60. package/dist/pam/identity/service/fresh-reauthentication.service.js.map +1 -1
  61. package/dist/pam/identity/service/identity.service.d.ts +46 -6
  62. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  63. package/dist/pam/identity/service/identity.service.js +219 -22
  64. package/dist/pam/identity/service/identity.service.js.map +1 -1
  65. package/dist/pam/identity/service/two-factor-challenge.service.d.ts +36 -0
  66. package/dist/pam/identity/service/two-factor-challenge.service.d.ts.map +1 -0
  67. package/dist/pam/identity/service/two-factor-challenge.service.js +30 -0
  68. package/dist/pam/identity/service/two-factor-challenge.service.js.map +1 -0
  69. package/dist/pam/identity/service/two-factor-delivery.service.d.ts +67 -0
  70. package/dist/pam/identity/service/two-factor-delivery.service.d.ts.map +1 -0
  71. package/dist/pam/identity/service/two-factor-delivery.service.js +135 -0
  72. package/dist/pam/identity/service/two-factor-delivery.service.js.map +1 -0
  73. package/dist/pam/react.d.ts +1 -1
  74. package/dist/pam/react.d.ts.map +1 -1
  75. package/dist/pam/react.js +1 -1
  76. package/dist/pam/react.js.map +1 -1
  77. package/dist/server/auth/auth.d.ts.map +1 -1
  78. package/dist/server/auth/auth.js +3 -0
  79. package/dist/server/auth/auth.js.map +1 -1
  80. package/dist/testing/seed-player.d.ts +2 -0
  81. package/dist/testing/seed-player.d.ts.map +1 -1
  82. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"identity.service.js","sourceRoot":"","sources":["../../../../src/pam/identity/service/identity.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.service.js","sourceRoot":"","sources":["../../../../src/pam/identity/service/identity.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { DrizzleService } from '@openora/core/server';
2
+ import type { TwoFactorChallengeMethod, User } from '@openora/core/contracts';
3
+ /**
4
+ * Library boundary: the base Auth API type omits the endpoints contributed by the
5
+ * twoFactor plugin, but createAuth always installs that plugin for identity.
6
+ */
7
+ export type TwoFactorVerifyApi = {
8
+ verifyTOTP(opts: VerifyOpts): Promise<Response>;
9
+ verifyTwoFactorOTP(opts: VerifyOpts): Promise<Response>;
10
+ verifyBackupCode(opts: VerifyOpts): Promise<Response>;
11
+ };
12
+ type VerifyOpts = {
13
+ body: {
14
+ code: string;
15
+ trustDevice: boolean;
16
+ };
17
+ headers: Headers;
18
+ asResponse: true;
19
+ };
20
+ /**
21
+ * Which endpoint can spend this account's challenge answer. All three delivery
22
+ * methods share one enrolment, so this is purely about the credential the caller
23
+ * presents: an account on `email`/`sms` has no authenticator to read a TOTP off, so
24
+ * verifying one against the shared secret would reject every code it was actually
25
+ * sent - and, on the step-up paths, bank a lockout failure for it.
26
+ *
27
+ * An enrolment that predates the `two_factor_method` column reads as null, and every
28
+ * one of those was an authenticator.
29
+ */
30
+ export declare function resolveChallengeMethod(drizzle: DrizzleService, userId: User['id']): Promise<Extract<TwoFactorChallengeMethod, 'otp' | 'totp'>>;
31
+ export declare function verifyChallengeCode(api: TwoFactorVerifyApi, method: TwoFactorChallengeMethod, body: {
32
+ code: string;
33
+ trustDevice: boolean;
34
+ }, headers: Headers): Promise<Response>;
35
+ export {};
36
+ //# sourceMappingURL=two-factor-challenge.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"two-factor-challenge.service.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/service/two-factor-challenge.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG9E;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GACjB,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAO5D;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAC5C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,CAAC,CAQnB"}
@@ -0,0 +1,30 @@
1
+ import { eq } from 'drizzle-orm';
2
+ import { user } from '../schema/index.js';
3
+ /**
4
+ * Which endpoint can spend this account's challenge answer. All three delivery
5
+ * methods share one enrolment, so this is purely about the credential the caller
6
+ * presents: an account on `email`/`sms` has no authenticator to read a TOTP off, so
7
+ * verifying one against the shared secret would reject every code it was actually
8
+ * sent - and, on the step-up paths, bank a lockout failure for it.
9
+ *
10
+ * An enrolment that predates the `two_factor_method` column reads as null, and every
11
+ * one of those was an authenticator.
12
+ */
13
+ export async function resolveChallengeMethod(drizzle, userId) {
14
+ const [row] = await drizzle.db
15
+ .select({ twoFactorMethod: user.twoFactorMethod })
16
+ .from(user)
17
+ .where(eq(user.id, userId))
18
+ .limit(1);
19
+ return row?.twoFactorMethod === 'email' || row?.twoFactorMethod === 'sms' ? 'otp' : 'totp';
20
+ }
21
+ export function verifyChallengeCode(api, method, body, headers) {
22
+ if (method === 'backup_code') {
23
+ return api.verifyBackupCode({ body, headers, asResponse: true });
24
+ }
25
+ if (method === 'otp') {
26
+ return api.verifyTwoFactorOTP({ body, headers, asResponse: true });
27
+ }
28
+ return api.verifyTOTP({ body, headers, asResponse: true });
29
+ }
30
+ //# sourceMappingURL=two-factor-challenge.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"two-factor-challenge.service.js","sourceRoot":"","sources":["../../../../src/pam/identity/service/two-factor-challenge.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAkB1C;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAuB,EACvB,MAAkB;IAElB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,EAAE;SAC3B,MAAM,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;SACjD,IAAI,CAAC,IAAI,CAAC;SACV,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SAC1B,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,GAAG,EAAE,eAAe,KAAK,OAAO,IAAI,GAAG,EAAE,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAuB,EACvB,MAAgC,EAChC,IAA4C,EAC5C,OAAgB;IAEhB,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { DrizzleService } from '@openora/core/server';
2
+ import type { MailDispatchPort, SmsAdapter, TwoFactorDeliveryMethod, User } from '@openora/core/contracts';
3
+ /**
4
+ * Masks a registered address down to what is safe to show an unauthenticated (or
5
+ * merely half-authenticated) caller: enough to recognise which of your own addresses
6
+ * a code went to, not enough to learn the address from the screen.
7
+ */
8
+ export declare function maskEmail(email: string): string;
9
+ export declare function maskPhone(phone: string): string;
10
+ export type TwoFactorDeliveryDeps = {
11
+ drizzle: DrizzleService;
12
+ mailDispatch?: MailDispatchPort;
13
+ sms: SmsAdapter;
14
+ };
15
+ type TwoFactorDestination = {
16
+ method: TwoFactorDeliveryMethod;
17
+ masked: string;
18
+ };
19
+ /**
20
+ * Delivers a one-time second-factor code over whichever transport the account's
21
+ * enrolled method names. better-auth generates and verifies the code itself; this
22
+ * only decides where it goes, which is the one thing the plugin cannot know - it
23
+ * sees a single enrolment and no notion of `app` vs `email` vs `sms`.
24
+ */
25
+ export declare class TwoFactorDeliveryService {
26
+ private readonly drizzle;
27
+ private readonly mailDispatch?;
28
+ private readonly sms;
29
+ private readonly lastFailure;
30
+ constructor({ drizzle, mailDispatch, sms }: TwoFactorDeliveryDeps);
31
+ /**
32
+ * The transport error from this account's most recent `deliver`, cleared as it is
33
+ * read. better-auth's send-otp endpoint wraps the hook in `.catch(logger.error)` and
34
+ * answers 200 regardless, so without this the API would promise a code that is
35
+ * never coming. The hook runs inline (no `backgroundTasks.handler` is configured),
36
+ * so a failure is already recorded by the time the endpoint returns.
37
+ *
38
+ * What this actually catches differs by transport: `sms` calls the vendor
39
+ * synchronously, so a real rejection lands here. `email` only enqueues a mail job
40
+ * (`MailDispatchPort.toUser`) - this catches the queue being unreachable, not a
41
+ * later SMTP-level bounce, the same fire-and-forget contract every other email in
42
+ * this codebase runs under (registration, password reset). A player recovers from
43
+ * either case the same way: `sendTwoFactorOtp` re-reads the persisted method and
44
+ * tries again.
45
+ */
46
+ takeFailure(userId: User['id']): unknown;
47
+ /**
48
+ * Where a code for this account would go, masked. Returns undefined for an account
49
+ * on the `app` method (nothing is delivered) or one that is not enrolled at all.
50
+ */
51
+ describeDestination(userId: User['id']): Promise<TwoFactorDestination | undefined>;
52
+ /**
53
+ * Fans a generated code out to the account's chosen transport. Bound as better-auth's
54
+ * `sendOTP` hook, so it runs for every OTP the plugin issues - enrolment, resend and
55
+ * the send leg of a login challenge alike.
56
+ */
57
+ deliver(args: {
58
+ userId: User['id'];
59
+ email: string;
60
+ phoneNumber: string | null;
61
+ code: string;
62
+ }): Promise<void>;
63
+ private dispatch;
64
+ private findAccount;
65
+ }
66
+ export {};
67
+ //# sourceMappingURL=two-factor-delivery.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"two-factor-delivery.service.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/service/two-factor-delivery.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,uBAAuB,EACvB,IAAI,EACL,MAAM,yBAAyB,CAAC;AAGjC;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,GAAG,EAAE,UAAU,CAAC;CACjB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;gBAElD,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,qBAAqB;IAMjE;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO;IAMxC;;;OAGG;IACG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAexF;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE;QAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,IAAI,CAAC;YAaH,QAAQ;YAgCR,WAAW;CAa1B"}
@@ -0,0 +1,135 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { eq } from 'drizzle-orm';
3
+ import { user } from '../schema/index.js';
4
+ /**
5
+ * Masks a registered address down to what is safe to show an unauthenticated (or
6
+ * merely half-authenticated) caller: enough to recognise which of your own addresses
7
+ * a code went to, not enough to learn the address from the screen.
8
+ */
9
+ export function maskEmail(email) {
10
+ const [local = '', domain = ''] = email.split('@');
11
+ // A one-character local part has nothing to keep and nothing to hide; showing it
12
+ // whole would leak the entire address, so it masks to a bare marker.
13
+ const head = local.length > 1 ? local.slice(0, 1) : '';
14
+ return `${head}***@${domain}`;
15
+ }
16
+ export function maskPhone(phone) {
17
+ const tail = phone.slice(-2);
18
+ return `+** *** *** ${tail}`;
19
+ }
20
+ /**
21
+ * Delivers a one-time second-factor code over whichever transport the account's
22
+ * enrolled method names. better-auth generates and verifies the code itself; this
23
+ * only decides where it goes, which is the one thing the plugin cannot know - it
24
+ * sees a single enrolment and no notion of `app` vs `email` vs `sms`.
25
+ */
26
+ export class TwoFactorDeliveryService {
27
+ drizzle;
28
+ mailDispatch;
29
+ sms;
30
+ lastFailure = new Map();
31
+ constructor({ drizzle, mailDispatch, sms }) {
32
+ this.drizzle = drizzle;
33
+ this.mailDispatch = mailDispatch;
34
+ this.sms = sms;
35
+ }
36
+ /**
37
+ * The transport error from this account's most recent `deliver`, cleared as it is
38
+ * read. better-auth's send-otp endpoint wraps the hook in `.catch(logger.error)` and
39
+ * answers 200 regardless, so without this the API would promise a code that is
40
+ * never coming. The hook runs inline (no `backgroundTasks.handler` is configured),
41
+ * so a failure is already recorded by the time the endpoint returns.
42
+ *
43
+ * What this actually catches differs by transport: `sms` calls the vendor
44
+ * synchronously, so a real rejection lands here. `email` only enqueues a mail job
45
+ * (`MailDispatchPort.toUser`) - this catches the queue being unreachable, not a
46
+ * later SMTP-level bounce, the same fire-and-forget contract every other email in
47
+ * this codebase runs under (registration, password reset). A player recovers from
48
+ * either case the same way: `sendTwoFactorOtp` re-reads the persisted method and
49
+ * tries again.
50
+ */
51
+ takeFailure(userId) {
52
+ const failure = this.lastFailure.get(userId);
53
+ this.lastFailure.delete(userId);
54
+ return failure;
55
+ }
56
+ /**
57
+ * Where a code for this account would go, masked. Returns undefined for an account
58
+ * on the `app` method (nothing is delivered) or one that is not enrolled at all.
59
+ */
60
+ async describeDestination(userId) {
61
+ const row = await this.findAccount(userId);
62
+ if (!row?.twoFactorMethod || row.twoFactorMethod === 'app') {
63
+ return undefined;
64
+ }
65
+ if (row.twoFactorMethod === 'email') {
66
+ return { method: 'email', masked: maskEmail(row.email) };
67
+ }
68
+ return row.phoneVerified && row.phoneNumber
69
+ ? { method: 'sms', masked: maskPhone(row.phoneNumber) }
70
+ : // An `sms` enrolment whose phone has since been cleared or unverified has
71
+ // nowhere to send to - and must report that the same way `deliver` decides it.
72
+ undefined;
73
+ }
74
+ /**
75
+ * Fans a generated code out to the account's chosen transport. Bound as better-auth's
76
+ * `sendOTP` hook, so it runs for every OTP the plugin issues - enrolment, resend and
77
+ * the send leg of a login challenge alike.
78
+ */
79
+ async deliver(args) {
80
+ this.lastFailure.delete(args.userId);
81
+ try {
82
+ await this.dispatch(args);
83
+ }
84
+ catch (error) {
85
+ // Recorded rather than only thrown: better-auth swallows whatever this hook
86
+ // throws and still answers 200, so the caller learns of a dead transport only
87
+ // by reading it back through `takeFailure`.
88
+ this.lastFailure.set(args.userId, error);
89
+ throw error;
90
+ }
91
+ }
92
+ async dispatch(args) {
93
+ const row = await this.findAccount(args.userId);
94
+ const method = row?.twoFactorMethod;
95
+ // `app` reads the code off the shared secret and an unenrolled account has no
96
+ // method yet, so neither has anywhere to deliver to. Staying silent is correct:
97
+ // better-auth calls this hook unconditionally.
98
+ if (method !== 'email' && method !== 'sms') {
99
+ return;
100
+ }
101
+ if (method === 'sms') {
102
+ // Only a verified number. Enrolment checks this too, but a second factor must
103
+ // never be routed to a number the account has not proven it holds, however the
104
+ // column came to have it.
105
+ const phone = row.phoneVerified ? row.phoneNumber : null;
106
+ if (!phone) {
107
+ return;
108
+ }
109
+ await this.sms.sendOtp({ to: phone, code: args.code });
110
+ return;
111
+ }
112
+ // Routed through the dispatch port rather than a raw sender so the code inherits
113
+ // the platform's per-user locale, rendering and delivery log like every other mail.
114
+ // The key is fresh per send: a resent code is a new mail, not a retry of the old one.
115
+ await this.mailDispatch?.toUser({
116
+ userId: args.userId,
117
+ template: { key: 'twoFactorOtp', data: { otp: args.code } },
118
+ idempotencyKey: `otp:twoFactorOtp:${randomUUID()}`,
119
+ });
120
+ }
121
+ async findAccount(userId) {
122
+ const [row] = await this.drizzle.db
123
+ .select({
124
+ email: user.email,
125
+ phoneNumber: user.phoneNumber,
126
+ phoneVerified: user.phoneVerified,
127
+ twoFactorMethod: user.twoFactorMethod,
128
+ })
129
+ .from(user)
130
+ .where(eq(user.id, userId))
131
+ .limit(1);
132
+ return row;
133
+ }
134
+ }
135
+ //# sourceMappingURL=two-factor-delivery.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"two-factor-delivery.service.js","sourceRoot":"","sources":["../../../../src/pam/identity/service/two-factor-delivery.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export { useCurrentUser, useLogin, useLogout, useRegister, useRequestPasswordReset, useResetPassword, } from './identity/react/auth.js';
2
- export { useEnable2fa, useVerify2fa, useDisable2fa, useVerifyEmail, useUpdateProfile, useChangePassword, useSendEmailVerification, useMySecurityControls, useSetLoginWithdrawalAlerts, useSetWithdrawalPin, useRemoveWithdrawalPin, useRequestPhoneVerification, useConfirmPhoneVerification, useMySessions, useRevokeMySession, type Enable2faResult, type UseMySecurityControlsResult, type UseSetLoginWithdrawalAlertsResult, type UseSetWithdrawalPinResult, type UseRequestPhoneVerificationResult, type UseConfirmPhoneVerificationResult, } from './identity/react/account.js';
2
+ export { useEnable2fa, useVerify2fa, useDisable2fa, useTwoFactorStatus, useSendTwoFactorOtp, useVerifyEmail, useUpdateProfile, useChangePassword, useSendEmailVerification, useMySecurityControls, useSetLoginWithdrawalAlerts, useSetWithdrawalPin, useRemoveWithdrawalPin, useRequestPhoneVerification, useConfirmPhoneVerification, useMySessions, useRevokeMySession, type Enable2faResult, type TwoFactorDeliveryMethod, type TwoFactorStatus, type UseMySecurityControlsResult, type UseSetLoginWithdrawalAlertsResult, type UseSetWithdrawalPinResult, type UseRequestPhoneVerificationResult, type UseConfirmPhoneVerificationResult, } from './identity/react/account.js';
3
3
  export { usePlayerProfile, useUpdatePlayerProfile, useDisplayCurrency, useSetDisplayCurrency, type PlayerProfile, type DisplayCurrencyInfo, } from './profile/react/profile.js';
4
4
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/pam/react.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,WAAW,EACX,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,GACvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/pam/react.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,WAAW,EACX,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,GACvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC"}
package/dist/pam/react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // `@openora/core/pam/react` - domain-owned hooks, keeping the base @openora/core/react SDK domain-agnostic.
2
2
  export { useCurrentUser, useLogin, useLogout, useRegister, useRequestPasswordReset, useResetPassword, } from './identity/react/auth.js';
3
- export { useEnable2fa, useVerify2fa, useDisable2fa, useVerifyEmail, useUpdateProfile, useChangePassword, useSendEmailVerification, useMySecurityControls, useSetLoginWithdrawalAlerts, useSetWithdrawalPin, useRemoveWithdrawalPin, useRequestPhoneVerification, useConfirmPhoneVerification, useMySessions, useRevokeMySession, } from './identity/react/account.js';
3
+ export { useEnable2fa, useVerify2fa, useDisable2fa, useTwoFactorStatus, useSendTwoFactorOtp, useVerifyEmail, useUpdateProfile, useChangePassword, useSendEmailVerification, useMySecurityControls, useSetLoginWithdrawalAlerts, useSetWithdrawalPin, useRemoveWithdrawalPin, useRequestPhoneVerification, useConfirmPhoneVerification, useMySessions, useRevokeMySession, } from './identity/react/account.js';
4
4
  export { usePlayerProfile, useUpdatePlayerProfile, useDisplayCurrency, useSetDisplayCurrency, } from './profile/react/profile.js';
5
5
  //# sourceMappingURL=react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/pam/react.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,WAAW,EACX,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,GAOnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GAGtB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/pam/react.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,WAAW,EACX,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,GASnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GAGtB,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/auth/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIjG,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC;CACxB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAM3B,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE3B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChF;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrF;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAwG/D;AAED,MAAM,MAAM,IAAI,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/auth/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIjG,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC;CACxB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAM3B,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE3B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChF;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrF;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CA2G/D;AAED,MAAM,MAAM,IAAI,GAAG,cAAc,CAAC"}
@@ -84,6 +84,9 @@ export function createAuth(options) {
84
84
  ? { trustDeviceMaxAge: options.twoFactor.trustDeviceMaxAgeSec }
85
85
  : {}),
86
86
  otpOptions: {
87
+ // better-auth defaults this to "plain", which parks a live second factor in
88
+ // `verification.value` in cleartext for the whole of its window.
89
+ storeOTP: 'hashed',
87
90
  ...(options.twoFactor?.otpPeriodMinutes !== undefined
88
91
  ? { period: options.twoFactor.otpPeriodMinutes }
89
92
  : {}),