@openora/core 0.4.1-canary.113 → 0.4.1-canary.115

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 (206) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +11 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +11 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/__tests__/map-event.test.js +34 -0
  7. package/dist/audit/__tests__/map-event.test.js.map +1 -1
  8. package/dist/audit/plugin.d.ts +11 -0
  9. package/dist/audit/plugin.d.ts.map +1 -1
  10. package/dist/audit/plugin.js +63 -7
  11. package/dist/audit/plugin.js.map +1 -1
  12. package/dist/casino/gaming/plugin.d.ts +11 -0
  13. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  14. package/dist/casino/lobby/plugin.d.ts +11 -0
  15. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  16. package/dist/cms/plugin.d.ts +11 -0
  17. package/dist/cms/plugin.d.ts.map +1 -1
  18. package/dist/compliance/plugin.d.ts +11 -0
  19. package/dist/compliance/plugin.d.ts.map +1 -1
  20. package/dist/contracts/adapters/admin-security.d.ts +27 -0
  21. package/dist/contracts/adapters/admin-security.d.ts.map +1 -0
  22. package/dist/contracts/adapters/admin-security.js +9 -0
  23. package/dist/contracts/adapters/admin-security.js.map +1 -0
  24. package/dist/contracts/adapters/index.d.ts +3 -1
  25. package/dist/contracts/adapters/index.d.ts.map +1 -1
  26. package/dist/contracts/adapters/index.js +1 -0
  27. package/dist/contracts/adapters/index.js.map +1 -1
  28. package/dist/contracts/adapters/realtime.d.ts +36 -3
  29. package/dist/contracts/adapters/realtime.d.ts.map +1 -1
  30. package/dist/contracts/adapters/realtime.js.map +1 -1
  31. package/dist/contracts/schemas/common.d.ts +3 -1
  32. package/dist/contracts/schemas/common.d.ts.map +1 -1
  33. package/dist/contracts/schemas/common.js +2 -0
  34. package/dist/contracts/schemas/common.js.map +1 -1
  35. package/dist/contracts/schemas/events.d.ts +114 -0
  36. package/dist/contracts/schemas/events.d.ts.map +1 -1
  37. package/dist/contracts/schemas/events.js +77 -0
  38. package/dist/contracts/schemas/events.js.map +1 -1
  39. package/dist/contracts/schemas/identity.d.ts +26 -0
  40. package/dist/contracts/schemas/identity.d.ts.map +1 -1
  41. package/dist/contracts/schemas/identity.js +32 -1
  42. package/dist/contracts/schemas/identity.js.map +1 -1
  43. package/dist/contracts/schemas/platform-config.d.ts +39 -0
  44. package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
  45. package/dist/contracts/schemas/platform-config.js +43 -0
  46. package/dist/contracts/schemas/platform-config.js.map +1 -1
  47. package/dist/engagement/chat/__tests__/chat.router.test.d.ts +2 -0
  48. package/dist/engagement/chat/__tests__/chat.router.test.d.ts.map +1 -0
  49. package/dist/engagement/chat/__tests__/chat.router.test.js +44 -0
  50. package/dist/engagement/chat/__tests__/chat.router.test.js.map +1 -0
  51. package/dist/engagement/chat/__tests__/chat.service.int.test.js +590 -6
  52. package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
  53. package/dist/engagement/chat/contract/constants.d.ts +2 -0
  54. package/dist/engagement/chat/contract/constants.d.ts.map +1 -1
  55. package/dist/engagement/chat/contract/constants.js +7 -0
  56. package/dist/engagement/chat/contract/constants.js.map +1 -1
  57. package/dist/engagement/chat/contract/index.d.ts +39 -0
  58. package/dist/engagement/chat/contract/index.d.ts.map +1 -1
  59. package/dist/engagement/chat/contract/index.js +25 -1
  60. package/dist/engagement/chat/contract/index.js.map +1 -1
  61. package/dist/engagement/chat/drizzle/migrations/0009_massive_bill_hollister.sql +1 -0
  62. package/dist/engagement/chat/drizzle/migrations/0010_backfill_role_assigned_at.sql +9 -0
  63. package/dist/engagement/chat/drizzle/migrations/meta/0009_snapshot.json +1468 -0
  64. package/dist/engagement/chat/drizzle/migrations/meta/0010_snapshot.json +1468 -0
  65. package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +14 -0
  66. package/dist/engagement/chat/plugin.d.ts +11 -0
  67. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  68. package/dist/engagement/chat/router/index.d.ts +19 -0
  69. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  70. package/dist/engagement/chat/router/index.js +31 -2
  71. package/dist/engagement/chat/router/index.js.map +1 -1
  72. package/dist/engagement/chat/schema/index.d.ts +17 -0
  73. package/dist/engagement/chat/schema/index.d.ts.map +1 -1
  74. package/dist/engagement/chat/schema/index.js +3 -0
  75. package/dist/engagement/chat/schema/index.js.map +1 -1
  76. package/dist/engagement/chat/service/chat-ban.service.d.ts.map +1 -1
  77. package/dist/engagement/chat/service/chat-ban.service.js +6 -6
  78. package/dist/engagement/chat/service/chat-ban.service.js.map +1 -1
  79. package/dist/engagement/chat/service/chat-room-ban.service.js +1 -1
  80. package/dist/engagement/chat/service/chat-room-ban.service.js.map +1 -1
  81. package/dist/engagement/chat/service/chat-room-membership.service.d.ts +15 -0
  82. package/dist/engagement/chat/service/chat-room-membership.service.d.ts.map +1 -1
  83. package/dist/engagement/chat/service/chat-room-membership.service.js +96 -4
  84. package/dist/engagement/chat/service/chat-room-membership.service.js.map +1 -1
  85. package/dist/engagement/chat/service/chat.service.d.ts +3 -2
  86. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  87. package/dist/engagement/chat/service/chat.service.js +73 -24
  88. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  89. package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts +1 -0
  90. package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts.map +1 -1
  91. package/dist/engagement/chat/service/errors/chat-moderation.errors.js +1 -0
  92. package/dist/engagement/chat/service/errors/chat-moderation.errors.js.map +1 -1
  93. package/dist/engagement/chat-commands/plugin.d.ts +11 -0
  94. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  95. package/dist/engagement/notifications/plugin.d.ts +11 -0
  96. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  97. package/dist/engagement/social/plugin.d.ts +11 -0
  98. package/dist/engagement/social/plugin.d.ts.map +1 -1
  99. package/dist/iam/plugin.d.ts +11 -0
  100. package/dist/iam/plugin.d.ts.map +1 -1
  101. package/dist/pam/identity/__tests__/admin-security.int.test.d.ts +2 -0
  102. package/dist/pam/identity/__tests__/admin-security.int.test.d.ts.map +1 -0
  103. package/dist/pam/identity/__tests__/admin-security.int.test.js +137 -0
  104. package/dist/pam/identity/__tests__/admin-security.int.test.js.map +1 -0
  105. package/dist/pam/identity/__tests__/device-fingerprint.test.d.ts +2 -0
  106. package/dist/pam/identity/__tests__/device-fingerprint.test.d.ts.map +1 -0
  107. package/dist/pam/identity/__tests__/device-fingerprint.test.js +105 -0
  108. package/dist/pam/identity/__tests__/device-fingerprint.test.js.map +1 -0
  109. package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js +3 -3
  110. package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js.map +1 -1
  111. package/dist/pam/identity/__tests__/identity.service.int.test.js +221 -1
  112. package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -1
  113. package/dist/pam/identity/contract/index.d.ts +144 -0
  114. package/dist/pam/identity/contract/index.d.ts.map +1 -1
  115. package/dist/pam/identity/contract/index.js +84 -1
  116. package/dist/pam/identity/contract/index.js.map +1 -1
  117. package/dist/pam/identity/drizzle/migrations/0008_pink_bucky.sql +23 -0
  118. package/dist/pam/identity/drizzle/migrations/0009_hard_sauron.sql +2 -0
  119. package/dist/pam/identity/drizzle/migrations/meta/0008_snapshot.json +913 -0
  120. package/dist/pam/identity/drizzle/migrations/meta/0009_snapshot.json +926 -0
  121. package/dist/pam/identity/drizzle/migrations/meta/_journal.json +14 -0
  122. package/dist/pam/identity/plugin.d.ts +11 -0
  123. package/dist/pam/identity/plugin.d.ts.map +1 -1
  124. package/dist/pam/identity/plugin.js +81 -26
  125. package/dist/pam/identity/plugin.js.map +1 -1
  126. package/dist/pam/identity/react/account.d.ts +5 -0
  127. package/dist/pam/identity/react/account.d.ts.map +1 -1
  128. package/dist/pam/identity/react/auth.d.ts +2 -0
  129. package/dist/pam/identity/react/auth.d.ts.map +1 -1
  130. package/dist/pam/identity/router/index.d.ts +105 -1
  131. package/dist/pam/identity/router/index.d.ts.map +1 -1
  132. package/dist/pam/identity/router/index.js +44 -3
  133. package/dist/pam/identity/router/index.js.map +1 -1
  134. package/dist/pam/identity/schema/index.d.ts +314 -0
  135. package/dist/pam/identity/schema/index.d.ts.map +1 -1
  136. package/dist/pam/identity/schema/index.js +38 -0
  137. package/dist/pam/identity/schema/index.js.map +1 -1
  138. package/dist/pam/identity/service/admin-security.service.d.ts +82 -0
  139. package/dist/pam/identity/service/admin-security.service.d.ts.map +1 -0
  140. package/dist/pam/identity/service/admin-security.service.js +277 -0
  141. package/dist/pam/identity/service/admin-security.service.js.map +1 -0
  142. package/dist/pam/identity/service/device-fingerprint.service.d.ts +32 -0
  143. package/dist/pam/identity/service/device-fingerprint.service.d.ts.map +1 -0
  144. package/dist/pam/identity/service/device-fingerprint.service.js +79 -0
  145. package/dist/pam/identity/service/device-fingerprint.service.js.map +1 -0
  146. package/dist/pam/identity/service/identity.service.d.ts +37 -2
  147. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  148. package/dist/pam/identity/service/identity.service.js +233 -19
  149. package/dist/pam/identity/service/identity.service.js.map +1 -1
  150. package/dist/pam/identity/service/phone-login.service.d.ts +1 -0
  151. package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -1
  152. package/dist/pam/identity/service/phone-login.service.js +2 -0
  153. package/dist/pam/identity/service/phone-login.service.js.map +1 -1
  154. package/dist/pam/identity/service/session.service.d.ts +45 -1
  155. package/dist/pam/identity/service/session.service.d.ts.map +1 -1
  156. package/dist/pam/identity/service/session.service.js +81 -12
  157. package/dist/pam/identity/service/session.service.js.map +1 -1
  158. package/dist/pam/identity/service/trusted-device.service.d.ts +54 -0
  159. package/dist/pam/identity/service/trusted-device.service.d.ts.map +1 -0
  160. package/dist/pam/identity/service/trusted-device.service.js +157 -0
  161. package/dist/pam/identity/service/trusted-device.service.js.map +1 -0
  162. package/dist/pam/identity/service/two-factor-lockout.service.d.ts +25 -0
  163. package/dist/pam/identity/service/two-factor-lockout.service.d.ts.map +1 -0
  164. package/dist/pam/identity/service/two-factor-lockout.service.js +121 -0
  165. package/dist/pam/identity/service/two-factor-lockout.service.js.map +1 -0
  166. package/dist/pam/player-management/plugin.d.ts +11 -0
  167. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  168. package/dist/pam/player-note/plugin.d.ts +11 -0
  169. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  170. package/dist/pam/profile/plugin.d.ts +11 -0
  171. package/dist/pam/profile/plugin.d.ts.map +1 -1
  172. package/dist/pam/tag/plugin.d.ts +11 -0
  173. package/dist/pam/tag/plugin.d.ts.map +1 -1
  174. package/dist/react/context/__tests__/realtime-client.test.d.ts +2 -0
  175. package/dist/react/context/__tests__/realtime-client.test.d.ts.map +1 -0
  176. package/dist/react/context/__tests__/realtime-client.test.js +75 -0
  177. package/dist/react/context/__tests__/realtime-client.test.js.map +1 -0
  178. package/dist/react/context/realtime-client.d.ts +14 -0
  179. package/dist/react/context/realtime-client.d.ts.map +1 -1
  180. package/dist/react/context/realtime-client.js.map +1 -1
  181. package/dist/server/auth/__tests__/admin-guard.int.test.js +3 -1
  182. package/dist/server/auth/__tests__/admin-guard.int.test.js.map +1 -1
  183. package/dist/server/auth/admin-guard.d.ts +3 -2
  184. package/dist/server/auth/admin-guard.d.ts.map +1 -1
  185. package/dist/server/auth/admin-guard.js +18 -2
  186. package/dist/server/auth/admin-guard.js.map +1 -1
  187. package/dist/server/auth/auth.d.ts +14 -0
  188. package/dist/server/auth/auth.d.ts.map +1 -1
  189. package/dist/server/auth/auth.js +18 -1
  190. package/dist/server/auth/auth.js.map +1 -1
  191. package/dist/server/kernel/realtime-transport.d.ts +11 -3
  192. package/dist/server/kernel/realtime-transport.d.ts.map +1 -1
  193. package/dist/server/kernel/realtime-transport.js +53 -10
  194. package/dist/server/kernel/realtime-transport.js.map +1 -1
  195. package/dist/server/runtime/core-token-catalog.d.ts +11 -0
  196. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  197. package/dist/server/runtime/core-token-catalog.js +2 -1
  198. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  199. package/dist/server/runtime/create-app.d.ts.map +1 -1
  200. package/dist/server/runtime/create-app.js +2 -2
  201. package/dist/server/runtime/create-app.js.map +1 -1
  202. package/dist/testing/seed-player.d.ts +10 -2
  203. package/dist/testing/seed-player.d.ts.map +1 -1
  204. package/dist/wallet/plugin.d.ts +11 -0
  205. package/dist/wallet/plugin.d.ts.map +1 -1
  206. package/package.json +1 -1
@@ -30,6 +30,7 @@ function toUser(u) {
30
30
  emailVerified: u.emailVerified,
31
31
  theme: u.theme ?? 'system',
32
32
  language: u.language ?? 'en',
33
+ twoFactorEnabled: u.twoFactorEnabled ?? false,
33
34
  createdAt: toIso(u.createdAt),
34
35
  updatedAt: toIso(u.updatedAt),
35
36
  };
@@ -52,6 +53,52 @@ function twoFactorPendingCookieValue(headers) {
52
53
  }
53
54
  return undefined;
54
55
  }
56
+ // A web Response exposes Set-Cookie as full attribute strings; a request carries only
57
+ // the name=value pairs.
58
+ function requestCookieHeader(res) {
59
+ return (res.headers.getSetCookie?.() ?? [])
60
+ .map((cookie) => {
61
+ const [pair = ''] = cookie.split(';');
62
+ return pair.trim();
63
+ })
64
+ .filter((pair) => pair.length > 0)
65
+ .join('; ');
66
+ }
67
+ function hasTrustDeviceCookie(headers) {
68
+ const cookieHeader = headers.get('cookie');
69
+ if (!cookieHeader) {
70
+ return false;
71
+ }
72
+ for (const [name] of parseCookies(cookieHeader)) {
73
+ if (name.endsWith('.trust_device')) {
74
+ return true;
75
+ }
76
+ }
77
+ return false;
78
+ }
79
+ // Drops the one pair and leaves every other byte alone: the cookies that stay carry
80
+ // signed, percent-encoded values better-auth re-verifies exactly as the browser sent them.
81
+ function withoutTrustDeviceCookie(headers) {
82
+ const cookieHeader = headers.get('cookie');
83
+ if (!cookieHeader) {
84
+ return headers;
85
+ }
86
+ const kept = cookieHeader
87
+ .split(';')
88
+ .map((pair) => pair.trim())
89
+ .filter((pair) => {
90
+ const [name = ''] = pair.split('=');
91
+ return !name.endsWith('.trust_device');
92
+ });
93
+ const next = new Headers(headers);
94
+ if (kept.length === 0) {
95
+ next.delete('cookie');
96
+ }
97
+ else {
98
+ next.set('cookie', kept.join('; '));
99
+ }
100
+ return next;
101
+ }
55
102
  const SUCCESS = { success: true };
56
103
  export const UserNotFoundError = makeNotFoundError('User');
57
104
  export const UsernameConflictError = makeConflictError('Username', 'Username is already in use');
@@ -183,7 +230,10 @@ export class IdentityService {
183
230
  // the `finally` clears it. Not cache-backed - it never has to outlive the call or
184
231
  // cross a process.
185
232
  existingAccountSignUps = new Set();
186
- constructor({ drizzle, events, identityReader, email, templateRenderer, options, limiter, platformConfig, geoCheck, playerProvisioning, cache, }) {
233
+ trustedDevices;
234
+ twoFactorLockout;
235
+ sessions;
236
+ constructor({ drizzle, events, identityReader, email, templateRenderer, options, limiter, platformConfig, geoCheck, playerProvisioning, cache, trustedDevices, twoFactorLockout, sessions, }) {
187
237
  this.drizzle = drizzle;
188
238
  this.events = events;
189
239
  this.identityReader = identityReader;
@@ -195,6 +245,9 @@ export class IdentityService {
195
245
  this.geoCheck = geoCheck;
196
246
  this.playerProvisioning = playerProvisioning;
197
247
  this.cache = cache;
248
+ this.trustedDevices = trustedDevices;
249
+ this.twoFactorLockout = twoFactorLockout;
250
+ this.sessions = sessions;
198
251
  this.auth = createAuth({
199
252
  db: drizzle.db,
200
253
  schema: { user, session, account, verification, twoFactor },
@@ -510,10 +563,20 @@ export class IdentityService {
510
563
  fakeLoginShadow = { ...fakeLoginShadow, failedAttempts: 0, lockoutUntil: null };
511
564
  }
512
565
  }
566
+ // better-auth honours its trust-device cookie on its own and offers no way to revoke
567
+ // one. The revocable half of a trusted device is the row this module keeps, so a login
568
+ // presenting the cookie without a live row has to fall back to the full challenge.
569
+ let signInHeaders = headers;
570
+ if (existingUser && this.trustedDevices && hasTrustDeviceCookie(headers)) {
571
+ const trusted = await this.trustedDevices.isTrusted(existingUser.id, userAgent);
572
+ if (!trusted) {
573
+ signInHeaders = withoutTrustDeviceCookie(headers);
574
+ }
575
+ }
513
576
  try {
514
577
  const authResponse = await this.auth.api.signInEmail({
515
578
  body: { email, password: input.password, rememberMe: input.rememberMe },
516
- headers,
579
+ headers: signInHeaders,
517
580
  asResponse: true,
518
581
  });
519
582
  await ensureOk(authResponse);
@@ -854,31 +917,179 @@ export class IdentityService {
854
917
  async verifyTwoFactor(input, reqHeaders, resHeaders) {
855
918
  const { ip, userAgent } = extractClientMeta(reqHeaders);
856
919
  const headers = nodeHeadersToHeaders(reqHeaders);
857
- const twoFactorKey = (await this.currentUserId(headers)) ?? twoFactorPendingCookieValue(headers) ?? 'anonymous';
920
+ const pendingCookie = twoFactorPendingCookieValue(headers);
921
+ const sessionUserId = await this.currentUserId(headers);
922
+ const twoFactorKey = sessionUserId ?? pendingCookie ?? 'anonymous';
858
923
  await assertRateLimit(this.limiter, `verify2fa:${twoFactorKey}`, VERIFY_2FA_RATE_LIMIT);
859
- const res = await this.api.verifyTOTP({
860
- body: { code: input.code },
861
- headers,
862
- asResponse: true,
863
- });
924
+ const challengedUserId = sessionUserId ?? (await this.twoFactorLockout?.resolvePendingUserId(pendingCookie));
925
+ if (challengedUserId) {
926
+ await this.twoFactorLockout?.assertNotLocked(challengedUserId);
927
+ }
928
+ // A backup code is a single-use recovery credential, not a second factor to bind a
929
+ // browser to: it clears the challenge but never buys the trust window.
930
+ const trustDevice = input.trustDevice && input.method === 'totp' && this.trustedDevices !== undefined;
931
+ const body = { code: input.code, trustDevice };
932
+ const res = input.method === 'backup_code'
933
+ ? await this.api.verifyBackupCode({ body, headers, asResponse: true })
934
+ : await this.api.verifyTOTP({ body, headers, asResponse: true });
935
+ if (!res.ok && challengedUserId) {
936
+ await this.twoFactorLockout?.recordFailure(challengedUserId, { ip, userAgent });
937
+ }
864
938
  await ensureOk(res);
939
+ if (challengedUserId) {
940
+ await this.twoFactorLockout?.reset(challengedUserId);
941
+ }
865
942
  this.forwardCookies(res, resHeaders);
866
- const userId = await this.currentUserId(headers);
943
+ // better-auth rotates the session on a successful challenge, so the request cookie is
944
+ // already dead here - the actor is the identity resolved before the call.
945
+ const userId = challengedUserId ?? (await this.currentUserId(headers));
867
946
  if (userId) {
868
- this.events.emit('identity.2fa.enabled', {
947
+ const playerId = await this.identityReader.getPlayerIdByUserIdSafe(userId);
948
+ // A challenge answered from a live session is the enrolment step: better-auth only
949
+ // flips twoFactorEnabled once the first code clears. Every later verification is a
950
+ // sign-in, which carries the pending cookie instead and must not re-announce setup.
951
+ if (sessionUserId) {
952
+ this.events.emit('identity.2fa.enabled', {
953
+ userId,
954
+ playerId,
955
+ method: input.method,
956
+ ip,
957
+ userAgent,
958
+ });
959
+ }
960
+ this.events.emit('identity.2fa.verified', {
869
961
  userId,
870
- playerId: await this.identityReader.getPlayerIdByUserIdSafe(userId),
962
+ playerId,
963
+ method: input.method,
964
+ trustedDevice: trustDevice,
871
965
  ip,
872
966
  userAgent,
873
967
  });
968
+ if (trustDevice) {
969
+ await this.trustedDevices?.trust(userId, { ip, userAgent });
970
+ }
971
+ }
972
+ return SUCCESS;
973
+ }
974
+ /**
975
+ * Grants this browser its trust window without a sign-out. better-auth issues the
976
+ * trust cookie only on the sign-in leg of a challenge, so the grant has to replay
977
+ * that leg: the account proves its password and a fresh second factor, and the
978
+ * cookies better-auth returns are the ones the browser keeps.
979
+ */
980
+ async trustCurrentDevice(input, reqHeaders, resHeaders) {
981
+ const { ip, userAgent } = extractClientMeta(reqHeaders);
982
+ const headers = nodeHeadersToHeaders(reqHeaders);
983
+ const userId = await this.currentUserId(headers);
984
+ if (!userId) {
985
+ throw new ORPCError('UNAUTHORIZED', { message: 'Not signed in' });
986
+ }
987
+ await assertRateLimit(this.limiter, `trustDevice:${userId}`, TWO_FACTOR_PASSWORD_RATE_LIMIT);
988
+ const [account] = await this.drizzle.db
989
+ .select({ email: user.email })
990
+ .from(user)
991
+ .where(eq(user.id, userId))
992
+ .limit(1);
993
+ if (!account) {
994
+ throw new UserNotFoundError(userId);
995
+ }
996
+ const signIn = await this.auth.api.signInEmail({
997
+ body: { email: account.email, password: input.password },
998
+ headers: withoutTrustDeviceCookie(headers),
999
+ asResponse: true,
1000
+ });
1001
+ await ensureOk(signIn);
1002
+ const signInBody = (await signIn.json());
1003
+ if (signInBody.twoFactorRedirect !== true) {
1004
+ throw new ORPCError('BAD_REQUEST', {
1005
+ message: 'Two-factor authentication is not enabled for this account',
1006
+ });
1007
+ }
1008
+ // Only the cookies the challenge just issued: leaving the live session cookie in
1009
+ // place makes better-auth treat the call as a settings change and skip the trust.
1010
+ const challengeHeaders = new Headers(headers);
1011
+ challengeHeaders.set('cookie', requestCookieHeader(signIn));
1012
+ await this.twoFactorLockout?.assertNotLocked(userId);
1013
+ // Only a live authenticator earns the trust window - a backup code is a recovery
1014
+ // credential and the schema never lets one reach this route.
1015
+ const verified = await this.api.verifyTOTP({
1016
+ body: { code: input.code, trustDevice: true },
1017
+ headers: challengeHeaders,
1018
+ asResponse: true,
1019
+ });
1020
+ if (!verified.ok) {
1021
+ await this.twoFactorLockout?.recordFailure(userId, { ip, userAgent });
874
1022
  }
1023
+ await ensureOk(verified);
1024
+ await this.twoFactorLockout?.reset(userId);
1025
+ this.forwardCookies(verified, resHeaders);
1026
+ await this.trustedDevices?.trust(userId, { ip, userAgent });
1027
+ this.events.emit('identity.2fa.verified', {
1028
+ userId,
1029
+ playerId: await this.identityReader.getPlayerIdByUserIdSafe(userId),
1030
+ method: 'totp',
1031
+ trustedDevice: true,
1032
+ ip,
1033
+ userAgent,
1034
+ });
875
1035
  return SUCCESS;
876
1036
  }
1037
+ /**
1038
+ * A step-up gate for the self-service routes that change standing 2FA state: the
1039
+ * caller has to clear a live authenticator code, not just the account password.
1040
+ * Routed through TwoFactorLockoutService so a hijacked session plus a reused
1041
+ * password cannot grind the second factor here the way the password-only paths let it.
1042
+ */
1043
+ async assertFreshSecondFactor(userId, headers, meta, code) {
1044
+ await this.twoFactorLockout?.assertNotLocked(userId);
1045
+ const res = await this.api.verifyTOTP({
1046
+ body: { code, trustDevice: false },
1047
+ headers,
1048
+ asResponse: true,
1049
+ });
1050
+ if (!res.ok) {
1051
+ await this.twoFactorLockout?.recordFailure(userId, meta);
1052
+ }
1053
+ await ensureOk(res, { genericMessage: 'Invalid authenticator code' });
1054
+ await this.twoFactorLockout?.reset(userId);
1055
+ }
1056
+ async regenerateBackupCodes(input, reqHeaders, resHeaders) {
1057
+ const { ip, userAgent } = extractClientMeta(reqHeaders);
1058
+ const headers = nodeHeadersToHeaders(reqHeaders);
1059
+ const userId = await this.currentUserId(headers);
1060
+ await assertRateLimit(this.limiter, `backupCodes:${userId ?? 'anonymous'}`, TWO_FACTOR_PASSWORD_RATE_LIMIT);
1061
+ if (!userId) {
1062
+ throw new ORPCError('UNAUTHORIZED', { message: 'Not signed in' });
1063
+ }
1064
+ await this.assertFreshSecondFactor(userId, headers, { ip, userAgent }, input.code);
1065
+ const res = await this.api.generateBackupCodes({
1066
+ body: { password: input.password },
1067
+ headers,
1068
+ asResponse: true,
1069
+ });
1070
+ await ensureOk(res);
1071
+ this.forwardCookies(res, resHeaders);
1072
+ const body = (await res.json());
1073
+ // The old set is void the moment a new one is minted, so any device still trusted
1074
+ // off the old recovery flow re-verifies on its next login.
1075
+ await this.trustedDevices?.revokeAllForUser(userId, userId);
1076
+ this.events.emit('identity.2fa.backup_codes_regenerated', {
1077
+ userId,
1078
+ playerId: await this.identityReader.getPlayerIdByUserIdSafe(userId),
1079
+ ip,
1080
+ userAgent,
1081
+ });
1082
+ return { backupCodes: body.backupCodes };
1083
+ }
877
1084
  async disableTwoFactor(input, reqHeaders, resHeaders) {
878
1085
  const { ip, userAgent } = extractClientMeta(reqHeaders);
879
1086
  const headers = nodeHeadersToHeaders(reqHeaders);
880
1087
  const userId = await this.currentUserId(headers);
881
1088
  await assertRateLimit(this.limiter, `disable2fa:${userId ?? 'anonymous'}`, TWO_FACTOR_PASSWORD_RATE_LIMIT);
1089
+ if (!userId) {
1090
+ throw new ORPCError('UNAUTHORIZED', { message: 'Not signed in' });
1091
+ }
1092
+ await this.assertFreshSecondFactor(userId, headers, { ip, userAgent }, input.code);
882
1093
  const res = await this.api.disableTwoFactor({
883
1094
  body: { password: input.password },
884
1095
  headers,
@@ -886,14 +1097,17 @@ export class IdentityService {
886
1097
  });
887
1098
  await ensureOk(res);
888
1099
  this.forwardCookies(res, resHeaders);
889
- if (userId) {
890
- this.events.emit('identity.2fa.disabled', {
891
- userId,
892
- playerId: await this.identityReader.getPlayerIdByUserIdSafe(userId),
893
- ip,
894
- userAgent,
895
- });
896
- }
1100
+ // Dropping the second factor takes every standing bypass with it, the same teardown
1101
+ // a Super Admin reset performs - a browser must not keep the access 2FA was guarding.
1102
+ await this.trustedDevices?.revokeAllForUser(userId, userId);
1103
+ await this.sessions?.revokeAllSessions(userId, userId, { ip, userAgent });
1104
+ this.events.emit('identity.2fa.disabled', {
1105
+ userId,
1106
+ playerId: await this.identityReader.getPlayerIdByUserIdSafe(userId),
1107
+ method: 'totp',
1108
+ ip,
1109
+ userAgent,
1110
+ });
897
1111
  return SUCCESS;
898
1112
  }
899
1113
  async requestPasswordReset(input) {
@@ -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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"}
@@ -43,6 +43,7 @@ export declare class PhoneLoginService {
43
43
  emailVerified: boolean;
44
44
  theme: "light" | "dark" | "system";
45
45
  language: string;
46
+ twoFactorEnabled: boolean;
46
47
  createdAt: string;
47
48
  updatedAt: string;
48
49
  image?: string | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"phone-login.service.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/service/phone-login.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAE1B,UAAU,EACX,MAAM,yBAAyB,CAAC;AAsCjC,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM;;GAKpD;AAED,wBAAgB,eAAe,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B;;;GAK5F;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB;;GAKhC;AA+CD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAyB;gBAEtC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qBAAqB;YAU5E,SAAS;YAYT,SAAS;IAWjB,UAAU,CAAC,KAAK,EAAE,sBAAsB,GAAG,UAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAmExF,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,EAAE,UAAU,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;CAgO/E"}
1
+ {"version":3,"file":"phone-login.service.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/service/phone-login.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAE1B,UAAU,EACX,MAAM,yBAAyB,CAAC;AAsCjC,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM;;GAKpD;AAED,wBAAgB,eAAe,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B;;;GAK5F;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB;;GAKhC;AAiDD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAyB;gBAEtC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qBAAqB;YAU5E,SAAS;YAYT,SAAS;IAWjB,UAAU,CAAC,KAAK,EAAE,sBAAsB,GAAG,UAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAmExF,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,EAAE,UAAU,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAiO/E"}
@@ -68,6 +68,7 @@ function serializeUser(u) {
68
68
  language: u.language,
69
69
  phoneNumber: u.phoneNumber,
70
70
  phoneVerified: u.phoneVerified,
71
+ twoFactorEnabled: u.twoFactorEnabled ?? false,
71
72
  createdAt: u.createdAt.toISOString(),
72
73
  updatedAt: u.updatedAt.toISOString(),
73
74
  };
@@ -246,6 +247,7 @@ export class PhoneLoginService {
246
247
  language: user.language,
247
248
  phoneNumber: user.phoneNumber,
248
249
  phoneVerified: user.phoneVerified,
250
+ twoFactorEnabled: user.twoFactorEnabled,
249
251
  createdAt: user.createdAt,
250
252
  updatedAt: user.updatedAt,
251
253
  rgBlocked: user.rgBlocked,
@@ -1 +1 @@
1
- {"version":3,"file":"phone-login.service.js","sourceRoot":"","sources":["../../../../src/pam/identity/service/phone-login.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phone-login.service.js","sourceRoot":"","sources":["../../../../src/pam/identity/service/phone-login.service.ts"],"names":[],"mappings":"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"}