@trokky/trokky 3.5.1 → 3.5.2

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 (100) hide show
  1. package/dist/adapters/cloudflare-d1/cloudflare-d1-adapter.d.ts +2 -0
  2. package/dist/adapters/cloudflare-d1/cloudflare-d1-adapter.d.ts.map +1 -1
  3. package/dist/adapters/cloudflare-d1/cloudflare-d1-adapter.js +17 -0
  4. package/dist/adapters/cloudflare-d1/cloudflare-d1-adapter.js.map +1 -1
  5. package/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts +1 -0
  6. package/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts.map +1 -1
  7. package/dist/adapters/filesystem-data/filesystem-data-adapter.js +24 -1
  8. package/dist/adapters/filesystem-data/filesystem-data-adapter.js.map +1 -1
  9. package/dist/adapters/postgres-data/postgres-data-adapter.d.ts +2 -0
  10. package/dist/adapters/postgres-data/postgres-data-adapter.d.ts.map +1 -1
  11. package/dist/adapters/postgres-data/postgres-data-adapter.js +24 -0
  12. package/dist/adapters/postgres-data/postgres-data-adapter.js.map +1 -1
  13. package/dist/core/core/engine.d.ts +10 -1
  14. package/dist/core/core/engine.d.ts.map +1 -1
  15. package/dist/core/core/engine.js +34 -4
  16. package/dist/core/core/engine.js.map +1 -1
  17. package/dist/core/security/auth-flow-store.d.ts +69 -0
  18. package/dist/core/security/auth-flow-store.d.ts.map +1 -0
  19. package/dist/core/security/auth-flow-store.js +145 -0
  20. package/dist/core/security/auth-flow-store.js.map +1 -0
  21. package/dist/core/security/oauth2/authorization-server.d.ts +68 -13
  22. package/dist/core/security/oauth2/authorization-server.d.ts.map +1 -1
  23. package/dist/core/security/oauth2/authorization-server.js +161 -151
  24. package/dist/core/security/oauth2/authorization-server.js.map +1 -1
  25. package/dist/core/security/oauth2/scoped-permissions.d.ts +15 -0
  26. package/dist/core/security/oauth2/scoped-permissions.d.ts.map +1 -0
  27. package/dist/core/security/oauth2/scoped-permissions.js +53 -0
  28. package/dist/core/security/oauth2/scoped-permissions.js.map +1 -0
  29. package/dist/core/services/auth-service.d.ts +4 -0
  30. package/dist/core/services/auth-service.d.ts.map +1 -1
  31. package/dist/core/services/auth-service.js +63 -5
  32. package/dist/core/services/auth-service.js.map +1 -1
  33. package/dist/core/services/document-service.d.ts.map +1 -1
  34. package/dist/core/services/document-service.js +5 -1
  35. package/dist/core/services/document-service.js.map +1 -1
  36. package/dist/core/services/oauth2-server-service.d.ts +48 -1
  37. package/dist/core/services/oauth2-server-service.d.ts.map +1 -1
  38. package/dist/core/services/oauth2-server-service.js +170 -10
  39. package/dist/core/services/oauth2-server-service.js.map +1 -1
  40. package/dist/core/types/index.d.ts +4 -0
  41. package/dist/core/types/index.d.ts.map +1 -1
  42. package/dist/core/types/index.js.map +1 -1
  43. package/dist/core/types/oauth2.d.ts +1 -1
  44. package/dist/core/types/oauth2.d.ts.map +1 -1
  45. package/dist/core/types/oauth2.js +1 -1
  46. package/dist/core/types/oauth2.js.map +1 -1
  47. package/dist/core/types/storage-adapters.d.ts +11 -1
  48. package/dist/core/types/storage-adapters.d.ts.map +1 -1
  49. package/dist/i18n/config.d.ts +34 -0
  50. package/dist/i18n/config.d.ts.map +1 -1
  51. package/dist/i18n/locales/en/studio.json +18 -1
  52. package/dist/i18n/locales/fr/studio.json +18 -1
  53. package/dist/integrations/express/config.d.ts +12 -0
  54. package/dist/integrations/express/config.d.ts.map +1 -1
  55. package/dist/integrations/express/config.js.map +1 -1
  56. package/dist/routes/auth/auth-flow-store.d.ts +3 -59
  57. package/dist/routes/auth/auth-flow-store.d.ts.map +1 -1
  58. package/dist/routes/auth/auth-flow-store.js +3 -119
  59. package/dist/routes/auth/auth-flow-store.js.map +1 -1
  60. package/dist/routes/auth/oauth.d.ts.map +1 -1
  61. package/dist/routes/auth/oauth.js +4 -2
  62. package/dist/routes/auth/oauth.js.map +1 -1
  63. package/dist/routes/auth/oauth2-server.d.ts.map +1 -1
  64. package/dist/routes/auth/oauth2-server.js +28 -8
  65. package/dist/routes/auth/oauth2-server.js.map +1 -1
  66. package/dist/routes/handlers/audit.d.ts +6 -0
  67. package/dist/routes/handlers/audit.d.ts.map +1 -1
  68. package/dist/routes/handlers/audit.js +19 -17
  69. package/dist/routes/handlers/audit.js.map +1 -1
  70. package/dist/routes/handlers/auth.d.ts +23 -1
  71. package/dist/routes/handlers/auth.d.ts.map +1 -1
  72. package/dist/routes/handlers/auth.js +101 -2
  73. package/dist/routes/handlers/auth.js.map +1 -1
  74. package/dist/routes/handlers/base.d.ts +14 -0
  75. package/dist/routes/handlers/base.d.ts.map +1 -1
  76. package/dist/routes/handlers/base.js +41 -4
  77. package/dist/routes/handlers/base.js.map +1 -1
  78. package/dist/routes/handlers/documents.d.ts.map +1 -1
  79. package/dist/routes/handlers/documents.js +7 -2
  80. package/dist/routes/handlers/documents.js.map +1 -1
  81. package/dist/routes/handlers/tokens.d.ts.map +1 -1
  82. package/dist/routes/handlers/tokens.js +5 -4
  83. package/dist/routes/handlers/tokens.js.map +1 -1
  84. package/dist/routes/handlers/users.d.ts.map +1 -1
  85. package/dist/routes/handlers/users.js +35 -6
  86. package/dist/routes/handlers/users.js.map +1 -1
  87. package/dist/routes/routes.d.ts.map +1 -1
  88. package/dist/routes/routes.js +8 -1
  89. package/dist/routes/routes.js.map +1 -1
  90. package/dist/types/auth.d.ts +8 -0
  91. package/dist/types/auth.d.ts.map +1 -1
  92. package/dist/types/index.d.ts +1 -1
  93. package/dist/types/index.d.ts.map +1 -1
  94. package/dist/types/index.js +1 -1
  95. package/dist/types/index.js.map +1 -1
  96. package/dist/types/oauth2.d.ts +13 -1
  97. package/dist/types/oauth2.d.ts.map +1 -1
  98. package/dist/types/oauth2.js +25 -10
  99. package/dist/types/oauth2.js.map +1 -1
  100. package/package.json +1 -1
@@ -1,62 +1,6 @@
1
1
  /**
2
- * Storage for a sign-in that spans two requests.
3
- *
4
- * OAuth login state with its PKCE verifier, and the WebAuthn challenge behind a
5
- * passkey, are both written when a flow begins and read once when it completes.
6
- * Held in the server process, a restart between the two halves fails the
7
- * sign-in and a second replica cannot serve the second half at all.
8
- *
9
- * Persists through the data storage adapter when it implements the optional
10
- * auth flow methods, and falls back to an in-process map when it does not, so
11
- * an adapter written against the older interface keeps working.
2
+ * Moved to core/security/auth-flow-store.ts so the OAuth2 authorization server (core) can use
3
+ * it too; re-exported here for the route modules and tests that import it by this path.
12
4
  */
13
- import type { DataStorageAdapter, AuthFlowState } from '../../core/types/storage-adapters.js';
14
- /**
15
- * Store a pending flow.
16
- *
17
- * A failure to persist is raised, not swallowed. Keeping the entry in memory
18
- * would report a durability the caller does not have and silently reintroduce
19
- * the bug this store exists to fix: the sign-in would appear to start and then
20
- * fail at the callback if it landed on another process. Failing here costs one
21
- * retry and is honest about what happened.
22
- */
23
- export declare function saveAuthFlowState(adapter: DataStorageAdapter | null | undefined, state: AuthFlowState): Promise<void>;
24
- /**
25
- * Take a pending flow: return it and consume it, or return null.
26
- *
27
- * Single use is the security property here - an OAuth state is CSRF protection
28
- * and a WebAuthn challenge must not be answerable twice - so the adapter is
29
- * asked to return and delete in one atomic operation rather than being read and
30
- * then deleted, which would let two concurrent callbacks both succeed.
31
- *
32
- * A storage failure propagates: a caller that cannot prove it consumed the
33
- * state must not continue as though it had.
34
- */
35
- export declare function consumeAuthFlowState(adapter: DataStorageAdapter | null | undefined, id: string, kind: AuthFlowState['kind']): Promise<AuthFlowState | null>;
36
- /**
37
- * Drop everything that has expired.
38
- *
39
- * Sweeping is best-effort: expired entries are rejected on read regardless, so
40
- * a failed sweep costs storage rather than correctness.
41
- */
42
- export declare function deleteExpiredAuthFlowStates(adapter: DataStorageAdapter | null | undefined): Promise<void>;
43
- /**
44
- * Sweep expired states, driven by a request rather than by a timer.
45
- *
46
- * This used to be a module-scope `setInterval`, which assumes a process that
47
- * outlives any one request. On an edge runtime that assumption fails twice over:
48
- * work at import time is restricted, and nothing runs between requests, so the
49
- * timer would either be rejected or simply never fire — while still looking
50
- * correct in the source.
51
- *
52
- * Driving it from a request costs nothing, because expiry is already enforced on
53
- * read (`isUsable`). Sweeping only reclaims space, so it is safe to skip, safe to
54
- * fail, and safe to run on whichever instance happens to take the next request.
55
- * The caller is not made to wait for it.
56
- */
57
- export declare function sweepExpiredAuthFlowStates(adapter: DataStorageAdapter | null | undefined, now?: number): void;
58
- /** Test seam: forget when the last sweep happened. */
59
- export declare function resetSweepClock(): void;
60
- /** Test seam: drops the in-process entries without touching the adapter. */
61
- export declare function clearFallbackAuthFlowStates(): void;
5
+ export * from '../../core/security/auth-flow-store.js';
62
6
  //# sourceMappingURL=auth-flow-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-flow-store.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/auth-flow-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AA4B7F;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAC9C,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAC9C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAa/B;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAC7C,OAAO,CAAC,IAAI,CAAC,CAYf;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAC9C,GAAG,GAAE,MAAmB,GACvB,IAAI,CAIN;AAED,sDAAsD;AACtD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,4EAA4E;AAC5E,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
1
+ {"version":3,"file":"auth-flow-store.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/auth-flow-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,wCAAwC,CAAA"}
@@ -1,122 +1,6 @@
1
1
  /**
2
- * Storage for a sign-in that spans two requests.
3
- *
4
- * OAuth login state with its PKCE verifier, and the WebAuthn challenge behind a
5
- * passkey, are both written when a flow begins and read once when it completes.
6
- * Held in the server process, a restart between the two halves fails the
7
- * sign-in and a second replica cannot serve the second half at all.
8
- *
9
- * Persists through the data storage adapter when it implements the optional
10
- * auth flow methods, and falls back to an in-process map when it does not, so
11
- * an adapter written against the older interface keeps working.
2
+ * Moved to core/security/auth-flow-store.ts so the OAuth2 authorization server (core) can use
3
+ * it too; re-exported here for the route modules and tests that import it by this path.
12
4
  */
13
- import { createLogger } from '../../core/utils/logger.js';
14
- const logger = createLogger('routes', 'AuthFlowStore');
15
- /** Entries live here only when the adapter cannot store them. */
16
- const fallbackStore = new Map();
17
- function adapterSupportsPersistence(adapter) {
18
- return Boolean(adapter?.saveAuthFlowState && adapter.consumeAuthFlowState);
19
- }
20
- /**
21
- * An unparseable expiry is treated as expired rather than as "never expires":
22
- * `NaN < Date.now()` is false, so a naive comparison would accept a corrupt
23
- * record forever. The boundary is exclusive - a state is dead at its expiry
24
- * instant, not one millisecond after.
25
- */
26
- function isUsable(state) {
27
- const expiresAt = new Date(state.expiresAt).getTime();
28
- return Number.isFinite(expiresAt) && expiresAt > Date.now();
29
- }
30
- /**
31
- * Store a pending flow.
32
- *
33
- * A failure to persist is raised, not swallowed. Keeping the entry in memory
34
- * would report a durability the caller does not have and silently reintroduce
35
- * the bug this store exists to fix: the sign-in would appear to start and then
36
- * fail at the callback if it landed on another process. Failing here costs one
37
- * retry and is honest about what happened.
38
- */
39
- export async function saveAuthFlowState(adapter, state) {
40
- if (adapterSupportsPersistence(adapter)) {
41
- await adapter.saveAuthFlowState(state);
42
- return;
43
- }
44
- fallbackStore.set(state.id, state);
45
- }
46
- /**
47
- * Take a pending flow: return it and consume it, or return null.
48
- *
49
- * Single use is the security property here - an OAuth state is CSRF protection
50
- * and a WebAuthn challenge must not be answerable twice - so the adapter is
51
- * asked to return and delete in one atomic operation rather than being read and
52
- * then deleted, which would let two concurrent callbacks both succeed.
53
- *
54
- * A storage failure propagates: a caller that cannot prove it consumed the
55
- * state must not continue as though it had.
56
- */
57
- export async function consumeAuthFlowState(adapter, id, kind) {
58
- if (adapterSupportsPersistence(adapter)) {
59
- const consumed = await adapter.consumeAuthFlowState(id, kind);
60
- return consumed && isUsable(consumed) ? consumed : null;
61
- }
62
- // The fallback map is only reachable on a single process, and there is no
63
- // await between the read and the delete, so this is atomic by the same
64
- // argument that made the original in-process map safe.
65
- const fallback = fallbackStore.get(id);
66
- fallbackStore.delete(id);
67
- if (!fallback || fallback.kind !== kind || !isUsable(fallback))
68
- return null;
69
- return fallback;
70
- }
71
- /**
72
- * Drop everything that has expired.
73
- *
74
- * Sweeping is best-effort: expired entries are rejected on read regardless, so
75
- * a failed sweep costs storage rather than correctness.
76
- */
77
- export async function deleteExpiredAuthFlowStates(adapter) {
78
- for (const [id, state] of fallbackStore.entries()) {
79
- if (!isUsable(state))
80
- fallbackStore.delete(id);
81
- }
82
- if (adapter?.deleteExpiredAuthFlowStates) {
83
- try {
84
- await adapter.deleteExpiredAuthFlowStates();
85
- }
86
- catch (error) {
87
- logger.error('Failed to sweep expired auth flow states', { error });
88
- }
89
- }
90
- }
91
- /** At most one sweep per interval, per process. */
92
- const SWEEP_INTERVAL_MS = 60_000;
93
- let lastSweepAt = 0;
94
- /**
95
- * Sweep expired states, driven by a request rather than by a timer.
96
- *
97
- * This used to be a module-scope `setInterval`, which assumes a process that
98
- * outlives any one request. On an edge runtime that assumption fails twice over:
99
- * work at import time is restricted, and nothing runs between requests, so the
100
- * timer would either be rejected or simply never fire — while still looking
101
- * correct in the source.
102
- *
103
- * Driving it from a request costs nothing, because expiry is already enforced on
104
- * read (`isUsable`). Sweeping only reclaims space, so it is safe to skip, safe to
105
- * fail, and safe to run on whichever instance happens to take the next request.
106
- * The caller is not made to wait for it.
107
- */
108
- export function sweepExpiredAuthFlowStates(adapter, now = Date.now()) {
109
- if (now - lastSweepAt < SWEEP_INTERVAL_MS)
110
- return;
111
- lastSweepAt = now;
112
- void deleteExpiredAuthFlowStates(adapter);
113
- }
114
- /** Test seam: forget when the last sweep happened. */
115
- export function resetSweepClock() {
116
- lastSweepAt = 0;
117
- }
118
- /** Test seam: drops the in-process entries without touching the adapter. */
119
- export function clearFallbackAuthFlowStates() {
120
- fallbackStore.clear();
121
- }
5
+ export * from '../../core/security/auth-flow-store.js';
122
6
  //# sourceMappingURL=auth-flow-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-flow-store.js","sourceRoot":"","sources":["../../../src/routes/auth/auth-flow-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-flow-store.js","sourceRoot":"","sources":["../../../src/routes/auth/auth-flow-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,wCAAwC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/oauth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EACL,UAAU,EAKX,MAAM,qBAAqB,CAAA;AA0E5B;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAsFvB;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA+NvB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA4DvB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,CAavB"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/oauth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EACL,UAAU,EAKX,MAAM,qBAAqB,CAAA;AA0E5B;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAsFvB;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAiOvB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA4DvB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,CAavB"}
@@ -186,8 +186,10 @@ export async function handleGoogleOAuthCallback(core, request) {
186
186
  // Validate user info
187
187
  googleService.validateUserInfo(googleUser);
188
188
  if (mode === 'link') {
189
- // Link mode: Add Google to existing user
190
- const userId = storedState.userId || request.user?.id;
189
+ // Link mode: add Google to the user who started linking. Only that stored identity
190
+ // counts: the mode in the body is the caller's word, and the caller's own credential
191
+ // must not be enough to attach a Google account to somebody.
192
+ const userId = storedState.mode === 'link' ? storedState.userId : undefined;
191
193
  if (!userId) {
192
194
  return {
193
195
  status: 401,
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/routes/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/routes/auth/oauth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth2-server.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/oauth2-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAqC9D;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA8DvB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA0GvB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAyHvB;AAMD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAqOvB;AAMD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA4HvB;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAkHvB;AAMD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
1
+ {"version":3,"file":"oauth2-server.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/oauth2-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAuC9D;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA8DvB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA0GvB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA6HvB;AAMD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAwOvB;AAMD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA4HvB;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAgIvB;AAMD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
@@ -46,7 +46,7 @@ export async function startDeviceAuthorization(core, request) {
46
46
  };
47
47
  }
48
48
  const scopes = scope ? scope.split(' ').filter(Boolean) : [];
49
- const result = oauth2Server.startDeviceAuthorization(clientId, scopes);
49
+ const result = await oauth2Server.startDeviceAuthorization(clientId, scopes);
50
50
  if (!result.success) {
51
51
  const errorResult = result;
52
52
  return {
@@ -127,7 +127,7 @@ export async function getDeviceCodeInfo(core, request) {
127
127
  }
128
128
  };
129
129
  }
130
- const state = oauth2Server.getDeviceCodeByUserCode(userCode);
130
+ const state = await oauth2Server.getDeviceCodeByUserCode(userCode);
131
131
  if (!state) {
132
132
  return {
133
133
  status: 404,
@@ -252,7 +252,11 @@ export async function verifyDeviceCode(core, request) {
252
252
  }
253
253
  let success;
254
254
  if (action === 'authorize') {
255
- success = oauth2Server.authorizeDeviceCode(user_code, request.user.id);
255
+ // The scopes the person left ticked; absent means everything the device asked for
256
+ const approvedScopes = Array.isArray(body.scopes)
257
+ ? body.scopes.filter((scope) => typeof scope === 'string')
258
+ : undefined;
259
+ success = await oauth2Server.authorizeDeviceCode(user_code, request.user.id, approvedScopes);
256
260
  if (success) {
257
261
  logger.info('Device code authorized', {
258
262
  userCode: user_code,
@@ -261,7 +265,7 @@ export async function verifyDeviceCode(core, request) {
261
265
  }
262
266
  }
263
267
  else {
264
- success = oauth2Server.denyDeviceCode(user_code);
268
+ success = await oauth2Server.denyDeviceCode(user_code);
265
269
  if (success) {
266
270
  logger.info('Device code denied', {
267
271
  userCode: user_code,
@@ -389,8 +393,11 @@ export async function handleTokenRequest(core, request) {
389
393
  if (!user) {
390
394
  throw new Error('User not found');
391
395
  }
392
- // Generate tokens using core's auth service
393
- const tokens = await core.generateOAuth2Tokens(user, scopes, clientId);
396
+ // The first tokens of an approval create its grant: the handle the person can later
397
+ // see and revoke in Studio. Refreshes reuse it.
398
+ const userAgent = request.headers['user-agent'];
399
+ const grant = await core.createOAuth2Grant(user, clientId, scopes, typeof userAgent === 'string' ? userAgent : undefined);
400
+ const tokens = await core.generateOAuth2Tokens(user, scopes, clientId, grant.id);
394
401
  return {
395
402
  access_token: tokens.accessToken,
396
403
  token_type: 'Bearer',
@@ -687,6 +694,19 @@ export async function handleAuthorizationDecision(core, request) {
687
694
  }
688
695
  };
689
696
  }
697
+ // Checked before either answer: even a denial redirects, and an unchecked redirect_uri
698
+ // would send the person wherever the request said
699
+ const approval = oauth2Server.validateApproval({ client_id, redirect_uri, scopes, code_challenge, denial: action === 'deny' });
700
+ if (!approval.valid) {
701
+ return {
702
+ status: 400,
703
+ headers: {},
704
+ body: {
705
+ error: 'invalid_request',
706
+ error_description: approval.error_description
707
+ }
708
+ };
709
+ }
690
710
  const redirectUrl = new URL(redirect_uri);
691
711
  if (action === 'deny') {
692
712
  redirectUrl.searchParams.set('error', 'access_denied');
@@ -708,10 +728,10 @@ export async function handleAuthorizationDecision(core, request) {
708
728
  };
709
729
  }
710
730
  // Save user consent for future auto-approval
711
- const scopesToSave = (scopes || []);
731
+ const scopesToSave = approval.scopes;
712
732
  await core.saveUserConsent(request.user.id, client_id, scopesToSave);
713
733
  // Generate authorization code
714
- const code = oauth2Server.generateAuthorizationCode(client_id, redirect_uri, scopesToSave, code_challenge, request.user.id);
734
+ const code = await oauth2Server.generateAuthorizationCode(client_id, redirect_uri, scopesToSave, code_challenge, request.user.id);
715
735
  redirectUrl.searchParams.set('code', code);
716
736
  redirectUrl.searchParams.set('state', state);
717
737
  logger.info('Authorization code issued', {
@@ -1 +1 @@
1
- {"version":3,"file":"oauth2-server.js","sourceRoot":"","sources":["../../../src/routes/auth/oauth2-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth2-server.js","sourceRoot":"","sources":["../../../src/routes/auth/oauth2-server.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,11 @@ export declare class AuditRoutes extends BaseRoutes {
17
17
  * Get audit logs for a specific actor (user/api/system)
18
18
  */
19
19
  private getActorAuditLogs;
20
+ /**
21
+ * An audit entry records the document's content before and after a change, so it is only
22
+ * as readable as the collection it belongs to. Without this, any signed-in caller — a token
23
+ * scoped to media, a user limited to one collection — read every document through its log.
24
+ */
25
+ private readable;
20
26
  }
21
27
  //# sourceMappingURL=audit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/routes/handlers/audit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAA6B,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,qBAAa,WAAY,SAAQ,UAAU;IAClC,SAAS,IAAI,eAAe,EAAE;IASrC;;OAEG;YACW,oBAAoB;IAsClC;;OAEG;YACW,sBAAsB;IAuCpC;;OAEG;YACW,iBAAiB;CAuChC"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/routes/handlers/audit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAA6B,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,qBAAa,WAAY,SAAQ,UAAU;IAClC,SAAS,IAAI,eAAe,EAAE;IASrC;;OAEG;YACW,oBAAoB;IAiClC;;OAEG;YACW,sBAAsB;IAuCpC;;OAEG;YACW,iBAAiB;IAmC/B;;;;OAIG;IACH,OAAO,CAAC,QAAQ;CAIjB"}
@@ -17,21 +17,17 @@ export class AuditRoutes extends BaseRoutes {
17
17
  */
18
18
  async getDocumentAuditLogs(request) {
19
19
  try {
20
- // SECURITY: Validate authentication and basic read permissions
21
- await this.validateAuthentication(request);
22
- const currentUser = await this.getCurrentUser(request);
23
- if (!currentUser) {
24
- return this.errorResponse(new Error('Authentication required'), 401);
25
- }
20
+ const session = await this.resolveSession(request);
21
+ const currentUser = session ? { id: session.userId } : null;
26
22
  const { documentId } = request.params;
27
23
  const limit = request.query.limit ? parseInt(request.query.limit) : 50;
28
24
  const offset = request.query.offset ? parseInt(request.query.offset) : 0;
29
25
  // Validate inputs
30
26
  SecurityValidator.validateDocumentId(documentId);
31
- const auditLogs = await this.core.getDocumentAuditLogs(documentId, { limit, offset });
27
+ const auditLogs = this.readable(session, await this.core.getDocumentAuditLogs(documentId, { limit, offset }));
32
28
  this.logger.info('Document audit logs retrieved', {
33
29
  documentId,
34
- userId: currentUser.id,
30
+ userId: currentUser?.id,
35
31
  count: auditLogs.length
36
32
  });
37
33
  return this.successResponse({
@@ -88,23 +84,19 @@ export class AuditRoutes extends BaseRoutes {
88
84
  */
89
85
  async getActorAuditLogs(request) {
90
86
  try {
91
- // SECURITY: Validate authentication
92
- await this.validateAuthentication(request);
93
- const currentUser = await this.getCurrentUser(request);
94
- if (!currentUser) {
95
- return this.errorResponse(new Error('Authentication required'), 401);
96
- }
87
+ const session = await this.resolveSession(request);
88
+ const currentUser = session ? { id: session.userId, role: session.role } : null;
97
89
  const { actorId } = request.params;
98
90
  const limit = request.query.limit ? parseInt(request.query.limit) : 50;
99
91
  const offset = request.query.offset ? parseInt(request.query.offset) : 0;
100
92
  // SECURITY: Users can only view their own audit logs unless they're admin
101
- if (actorId !== currentUser.id && currentUser.role !== 'admin') {
93
+ if (currentUser && actorId !== currentUser.id && currentUser.role !== 'admin') {
102
94
  return this.errorResponse(new Error('Forbidden: Can only view your own audit logs'), 403);
103
95
  }
104
- const auditLogs = await this.core.getActorAuditLogs(actorId, { limit, offset });
96
+ const auditLogs = this.readable(session, await this.core.getActorAuditLogs(actorId, { limit, offset }));
105
97
  this.logger.info('Actor audit logs retrieved', {
106
98
  actorId,
107
- requestedBy: currentUser.id,
99
+ requestedBy: currentUser?.id,
108
100
  count: auditLogs.length
109
101
  });
110
102
  return this.successResponse({
@@ -120,5 +112,15 @@ export class AuditRoutes extends BaseRoutes {
120
112
  return this.errorResponse(error);
121
113
  }
122
114
  }
115
+ /**
116
+ * An audit entry records the document's content before and after a change, so it is only
117
+ * as readable as the collection it belongs to. Without this, any signed-in caller — a token
118
+ * scoped to media, a user limited to one collection — read every document through its log.
119
+ */
120
+ readable(session, logs) {
121
+ if (!session)
122
+ return logs;
123
+ return logs.filter(log => this.sessionCanAccessSchema(session, log.collection, 'read'));
124
+ }
123
125
  }
124
126
  //# sourceMappingURL=audit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/routes/handlers/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/routes/handlers/audit.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,18 @@
1
1
  /**
2
2
  * AuthRoutes - Authentication, OAuth, passkey, MFA and OAuth2 server route handlers
3
3
  */
4
- import type { RouteDefinition } from '../types.js';
4
+ import type { HttpRequest, RouteDefinition } from '../types.js';
5
5
  import { BaseRoutes } from './base.js';
6
6
  export declare class AuthRoutes extends BaseRoutes {
7
+ /**
8
+ * Every route here manages a person's own account or security: passkeys, MFA, linked
9
+ * logins, approving other devices and applications. An OAuth2 access token acts for that
10
+ * person on content, and never here — so a token handed to an agent cannot enrol its own
11
+ * passkey on its user or approve itself more access. The one exception is reading the
12
+ * profile with the `profile` scope. Enforced for the whole group rather than per route, so
13
+ * a route added later is covered too.
14
+ */
15
+ protected validateAuthentication(request: HttpRequest): Promise<void>;
7
16
  getRoutes(): RouteDefinition[];
8
17
  /**
9
18
  * Whether this instance still has no administrator.
@@ -129,6 +138,19 @@ export declare class AuthRoutes extends BaseRoutes {
129
138
  * POST /auth/device
130
139
  * No authentication required - called by CLI
131
140
  */
141
+ /**
142
+ * RFC 7009: an application ends its own access (the MCP server's remove_site, the CLI's
143
+ * logout). Holding the token is the authorisation; the answer is 200 whatever the token was.
144
+ */
145
+ private revokeOAuth2Token;
146
+ /** The applications the signed-in person has approved (Studio: Connected applications) */
147
+ private listOwnGrants;
148
+ private revokeOwnGrant;
149
+ /** Every user's approved applications, for an admin */
150
+ private listAllGrants;
151
+ private revokeUserGrant;
152
+ /** RFC 8414 metadata: the endpoints and scopes a client can discover instead of hardcoding */
153
+ private getOAuth2Metadata;
132
154
  private startDeviceAuthorization;
133
155
  /**
134
156
  * Get Device Code Info (for verification page)
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/routes/handlers/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAA6B,eAAe,EAA+B,MAAM,aAAa,CAAA;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,qBAAa,UAAW,SAAQ,UAAU;IACjC,SAAS,IAAI,eAAe,EAAE;IAqDrC;;;;;OAKG;YACW,cAAc;IAY5B;;;;;OAKG;YACW,aAAa;YAyCb,KAAK;YAyEL,MAAM;YAUN,KAAK;YA0BL,aAAa;YA6Bb,YAAY;IAwB1B;;;OAGG;YACW,oBAAoB;IAMlC;;;OAGG;YACW,aAAa;IAM3B;;;OAGG;YACW,gBAAgB;IAM9B;;;OAGG;YACW,cAAc;IAS5B;;;OAGG;YACW,eAAe;IAW7B;;;OAGG;YACW,yBAAyB;IAevC;;;OAGG;YACW,mBAAmB;IAMjC;;;OAGG;YACW,cAAc;IAK5B;;;OAGG;YACW,gBAAgB;IAK9B;;;OAGG;YACW,6BAA6B;IAM3C;;;OAGG;YACW,yBAAyB;IAMvC;;;OAGG;YACW,sBAAsB;IAKpC;;;OAGG;YACW,kBAAkB;IAKhC;;;OAGG;YACW,sBAAsB;IAMpC;;;OAGG;YACW,uBAAuB;IAMrC;;;OAGG;YACW,uBAAuB;IAMrC;;;OAGG;YACW,gBAAgB;YAKhB,SAAS;YAKT,eAAe;YAKf,WAAW;YAKX,aAAa;YASb,eAAe;YASf,iBAAiB;YASjB,mBAAmB;YASnB,UAAU;YAMV,aAAa;YAMb,qBAAqB;YAMrB,YAAY;YAMZ,iBAAiB;YAMjB,mBAAmB;YAMnB,uBAAuB;YAMvB,iBAAiB;IAU/B;;;;OAIG;YACW,wBAAwB;IAKtC;;;;OAIG;YACW,iBAAiB;IAM/B;;;;OAIG;YACW,gBAAgB;IAM9B;;;;OAIG;YACW,wBAAwB;IAKtC;;;;OAIG;YACW,4BAA4B;IAY1C;;;;OAIG;YACW,2BAA2B;CAM1C"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/routes/handlers/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAgB,eAAe,EAA+B,MAAM,aAAa,CAAA;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,qBAAa,UAAW,SAAQ,UAAU;IACxC;;;;;;;OAOG;cACa,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpE,SAAS,IAAI,eAAe,EAAE;IA2DrC;;;;;OAKG;YACW,cAAc;IAY5B;;;;;OAKG;YACW,aAAa;YAyCb,KAAK;YAyEL,MAAM;YAUN,KAAK;YA0CL,aAAa;YA6Bb,YAAY;IAwB1B;;;OAGG;YACW,oBAAoB;IAMlC;;;OAGG;YACW,aAAa;IAM3B;;;OAGG;YACW,gBAAgB;IAM9B;;;OAGG;YACW,cAAc;IAS5B;;;OAGG;YACW,eAAe;IAW7B;;;OAGG;YACW,yBAAyB;IAevC;;;OAGG;YACW,mBAAmB;IAMjC;;;OAGG;YACW,cAAc;IAK5B;;;OAGG;YACW,gBAAgB;IAK9B;;;OAGG;YACW,6BAA6B;IAM3C;;;OAGG;YACW,yBAAyB;IAMvC;;;OAGG;YACW,sBAAsB;IAKpC;;;OAGG;YACW,kBAAkB;IAKhC;;;OAGG;YACW,sBAAsB;IAMpC;;;OAGG;YACW,uBAAuB;IAMrC;;;OAGG;YACW,uBAAuB;IAMrC;;;OAGG;YACW,gBAAgB;YAKhB,SAAS;YAKT,eAAe;YAKf,WAAW;YAKX,aAAa;YASb,eAAe;YASf,iBAAiB;YASjB,mBAAmB;YASnB,UAAU;YAMV,aAAa;YAMb,qBAAqB;YAMrB,YAAY;YAMZ,iBAAiB;YAMjB,mBAAmB;YAMnB,uBAAuB;YAMvB,iBAAiB;IAU/B;;;;OAIG;IACH;;;OAGG;YACW,iBAAiB;IAS/B,0FAA0F;YAC5E,aAAa;YAMb,cAAc;IAS5B,uDAAuD;YACzC,aAAa;YAcb,eAAe;IAS7B,8FAA8F;YAChF,iBAAiB;YAKjB,wBAAwB;IAKtC;;;;OAIG;YACW,iBAAiB;IAM/B;;;;OAIG;YACW,gBAAgB;IAM9B;;;;OAIG;YACW,wBAAwB;IAKtC;;;;OAIG;YACW,4BAA4B;IAY1C;;;;OAIG;YACW,2BAA2B;CAM1C"}