@memberjunction/server 6.1.0-edge.5 → 6.1.0-edge.6

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/README.md +6 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/agentSessions/SessionJanitor.js +2 -2
  4. package/dist/agentSessions/SessionJanitor.js.map +1 -1
  5. package/dist/auth/exampleNewUserSubClass.d.ts.map +1 -1
  6. package/dist/auth/exampleNewUserSubClass.js +9 -4
  7. package/dist/auth/exampleNewUserSubClass.js.map +1 -1
  8. package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
  9. package/dist/auth/magicLink/MagicLinkService.js +2 -8
  10. package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
  11. package/dist/auth/newUsers.d.ts.map +1 -1
  12. package/dist/auth/newUsers.js +4 -12
  13. package/dist/auth/newUsers.js.map +1 -1
  14. package/dist/auth/principals.d.ts +92 -0
  15. package/dist/auth/principals.d.ts.map +1 -0
  16. package/dist/auth/principals.js +193 -0
  17. package/dist/auth/principals.js.map +1 -0
  18. package/dist/config.d.ts +70 -12
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +32 -4
  21. package/dist/config.js.map +1 -1
  22. package/dist/generated/graphql-schemas/__mj.d.ts +5347 -5291
  23. package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
  24. package/dist/generated/graphql-schemas/__mj.js +21098 -20793
  25. package/dist/generated/graphql-schemas/__mj.js.map +1 -1
  26. package/dist/generic/ResolverBase.d.ts +35 -0
  27. package/dist/generic/ResolverBase.d.ts.map +1 -1
  28. package/dist/generic/ResolverBase.js +128 -2
  29. package/dist/generic/ResolverBase.js.map +1 -1
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +16 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/realtimeWidget/WidgetSessionService.d.ts.map +1 -1
  35. package/dist/realtimeWidget/WidgetSessionService.js +2 -12
  36. package/dist/realtimeWidget/WidgetSessionService.js.map +1 -1
  37. package/dist/realtimeWidget/visitorIdentity.d.ts.map +1 -1
  38. package/dist/realtimeWidget/visitorIdentity.js +20 -5
  39. package/dist/realtimeWidget/visitorIdentity.js.map +1 -1
  40. package/dist/resolvers/FileCategoryResolver.d.ts.map +1 -1
  41. package/dist/resolvers/FileCategoryResolver.js +1 -2
  42. package/dist/resolvers/FileCategoryResolver.js.map +1 -1
  43. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
  44. package/dist/resolvers/IntegrationDiscoveryResolver.js +2 -0
  45. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
  46. package/dist/resolvers/QuerySystemUserResolver.js +1 -1
  47. package/dist/resolvers/QuerySystemUserResolver.js.map +1 -1
  48. package/dist/resolvers/RemoteBrowserActionResolver.d.ts +13 -8
  49. package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
  50. package/dist/resolvers/RemoteBrowserActionResolver.js +45 -8
  51. package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
  52. package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
  53. package/dist/resolvers/SyncRolesUsersResolver.js +11 -2
  54. package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
  55. package/dist/resolvers/UserViewResolver.d.ts.map +1 -1
  56. package/dist/resolvers/UserViewResolver.js +8 -4
  57. package/dist/resolvers/UserViewResolver.js.map +1 -1
  58. package/dist/rest/EntityCRUDHandler.d.ts +2 -1
  59. package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
  60. package/dist/rest/EntityCRUDHandler.js +3 -18
  61. package/dist/rest/EntityCRUDHandler.js.map +1 -1
  62. package/dist/rest/RESTEndpointHandler.d.ts +2 -1
  63. package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
  64. package/dist/rest/RESTEndpointHandler.js +3 -16
  65. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  66. package/dist/telephony/TeamsMeetingsRouter.js +18 -2
  67. package/dist/telephony/TeamsMeetingsRouter.js.map +1 -1
  68. package/package.json +92 -91
  69. package/src/__tests__/EntityCRUDHandler.test.ts +18 -5
  70. package/src/__tests__/RemoteBrowserAudioStream.test.ts +81 -2
  71. package/src/__tests__/ResolverBase.filterEscaping.test.ts +127 -3
  72. package/src/__tests__/UserViewResolver.updateWhereClause.test.ts +114 -0
  73. package/src/__tests__/WidgetSessionService.test.ts +4 -1
  74. package/src/__tests__/newUserRolesDefault.test.ts +81 -0
  75. package/src/__tests__/newUsers.test.ts +36 -14
  76. package/src/__tests__/principals.callSites.test.ts +112 -0
  77. package/src/__tests__/principals.logging.test.ts +160 -0
  78. package/src/__tests__/principals.test.ts +305 -0
  79. package/src/__tests__/resolverBase.refusalMessage.test.ts +88 -0
  80. package/src/__tests__/visitorIdentity.resolve.test.ts +61 -0
  81. package/src/agentSessions/SessionJanitor.ts +2 -2
  82. package/src/auth/exampleNewUserSubClass.ts +9 -6
  83. package/src/auth/magicLink/MagicLinkService.ts +2 -8
  84. package/src/auth/newUsers.ts +7 -15
  85. package/src/auth/principals.ts +257 -0
  86. package/src/config.ts +32 -4
  87. package/src/generated/graphql-schemas/__mj.ts +13937 -13726
  88. package/src/generic/ResolverBase.ts +157 -2
  89. package/src/index.ts +17 -2
  90. package/src/realtimeWidget/WidgetSessionService.ts +2 -14
  91. package/src/realtimeWidget/visitorIdentity.ts +21 -6
  92. package/src/resolvers/FileCategoryResolver.ts +2 -3
  93. package/src/resolvers/IntegrationDiscoveryResolver.ts +2 -0
  94. package/src/resolvers/QuerySystemUserResolver.ts +1 -1
  95. package/src/resolvers/RemoteBrowserActionResolver.ts +47 -8
  96. package/src/resolvers/SyncRolesUsersResolver.ts +11 -2
  97. package/src/resolvers/UserViewResolver.ts +8 -4
  98. package/src/rest/EntityCRUDHandler.ts +3 -19
  99. package/src/rest/RESTEndpointHandler.ts +3 -17
  100. package/src/telephony/TeamsMeetingsRouter.ts +21 -2
@@ -141,6 +141,41 @@ export declare class ResolverBase {
141
141
  * @throws AuthorizationError if API key lacks required scope
142
142
  */
143
143
  protected CheckAPIKeyScopeAuthorization(scopePath: string, resource: string, userPayload: UserPayload): Promise<void>;
144
+ /**
145
+ * SECURITY — GraphQL-boundary screen for one client-supplied SQL clause fragment.
146
+ *
147
+ * `ValidateUserProvidedSQLClause` still blocks stacked statements, DML, comments, UNION
148
+ * and WAITFOR, and still permits SELECT (server-internal engines pass richer filters).
149
+ * A keyword ban on SELECT/EXISTS at this boundary (#4253) broke first-party clients that
150
+ * use `IN (SELECT … FROM <entity base view>)` — that is a legitimate ExtraFilter.
151
+ *
152
+ * This screen uses `@memberjunction/sql-parser` (same wrap as EDS `assertReadOnlyClause`):
153
+ * wrap the fragment as a single SELECT, fail closed if it does not parse as a read, then
154
+ * allow a FROM only when it is an entity **BaseView**. Base tables (`Meeting`, `__mj.User`)
155
+ * and catalogs are rejected. Server-internal RunView callers never hit this.
156
+ *
157
+ * RLS is applied by RunView as an outer WHERE around the entity being queried, not compiled
158
+ * into the view. Subqueries against another entity's BaseView therefore do not inherit that
159
+ * entity's RLS; they are still restricted to the view (not the table).
160
+ */
161
+ protected assertClientClauseUsesEntityBaseViews(clause: string | undefined | null, label: string, provider?: IMetadataProvider): void;
162
+ /**
163
+ * Applies {@link assertClientClauseUsesEntityBaseViews} to every client-supplied clause
164
+ * a view request can carry. GraphQL entry points (RunViewByName, RunViewByID,
165
+ * RunDynamicView, RunViews) funnel through RunViewGenericInternal / RunViewsGenericInternal.
166
+ */
167
+ protected screenClientViewClauses(clauses: {
168
+ extraFilter?: string | null;
169
+ orderBy?: string | null;
170
+ userSearchString?: string | null;
171
+ overrideExcludeFilter?: string | null;
172
+ }, provider?: IMetadataProvider): void;
173
+ /** Same write-node walk as EDS `sqlReadOnlyScreen.astContainsWriteNode`. */
174
+ private astContainsWriteNode;
175
+ private static readonly WRITE_NODE_TYPES;
176
+ private dialectForProvider;
177
+ private stripSqlIdent;
178
+ private entityBaseViewAllowList;
144
179
  /**
145
180
  * Optimized RunViewGenericInternal implementation with:
146
181
  * - Field filtering at source (Fix #7)
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverBase.d.ts","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResolverBase.d.ts","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ import { GetAPIKeyEngine } from '@memberjunction/api-keys';
6
6
  import { httpTransport, CloudEvent, emitterFor } from 'cloudevents';
7
7
  import { DeleteOptionsInput } from './DeleteOptionsInput.js';
8
8
  import { MJEventType, MJGlobal, ENCRYPTED_SENTINEL, EscapeSQLString, IsValueEncrypted, IsOnlyTimezoneShift } from '@memberjunction/global';
9
+ import { SQLParser } from '@memberjunction/sql-parser';
10
+ import { PostgreSQLDialect, SQLServerDialect } from '@memberjunction/sql-dialect';
9
11
  import { EncryptionEngine } from '@memberjunction/encryption';
10
12
  import { publishStatusUpdate } from './PushStatusResolver.js';
11
13
  import { CACHE_INVALIDATION_TOPIC } from './CacheInvalidationResolver.js';
@@ -628,6 +630,108 @@ export class ResolverBase {
628
630
  `Denial reason: ${result.Reason}`);
629
631
  }
630
632
  }
633
+ /**
634
+ * SECURITY — GraphQL-boundary screen for one client-supplied SQL clause fragment.
635
+ *
636
+ * `ValidateUserProvidedSQLClause` still blocks stacked statements, DML, comments, UNION
637
+ * and WAITFOR, and still permits SELECT (server-internal engines pass richer filters).
638
+ * A keyword ban on SELECT/EXISTS at this boundary (#4253) broke first-party clients that
639
+ * use `IN (SELECT … FROM <entity base view>)` — that is a legitimate ExtraFilter.
640
+ *
641
+ * This screen uses `@memberjunction/sql-parser` (same wrap as EDS `assertReadOnlyClause`):
642
+ * wrap the fragment as a single SELECT, fail closed if it does not parse as a read, then
643
+ * allow a FROM only when it is an entity **BaseView**. Base tables (`Meeting`, `__mj.User`)
644
+ * and catalogs are rejected. Server-internal RunView callers never hit this.
645
+ *
646
+ * RLS is applied by RunView as an outer WHERE around the entity being queried, not compiled
647
+ * into the view. Subqueries against another entity's BaseView therefore do not inherit that
648
+ * entity's RLS; they are still restricted to the view (not the table).
649
+ */
650
+ assertClientClauseUsesEntityBaseViews(clause, label, provider) {
651
+ if (!clause?.trim())
652
+ return;
653
+ const dialect = this.dialectForProvider(provider);
654
+ if (SQLParser.HasStackedStatements(clause, dialect)) {
655
+ throw new Error(`Invalid ${label}: multiple statements are not permitted in client-supplied filters`);
656
+ }
657
+ const wrapped = label === 'OrderBy'
658
+ ? `SELECT 1 FROM __mj_clause_screen ORDER BY ${clause}`
659
+ : `SELECT 1 FROM __mj_clause_screen WHERE (${clause})`;
660
+ const parser = new SQLParser(wrapped, dialect);
661
+ if (!parser.IsValid || parser.HasWriteStatement || parser.StatementKind !== 'select') {
662
+ throw new Error(`Invalid ${label}: not a safe read-only filter fragment — refusing under uncertainty`);
663
+ }
664
+ if (this.astContainsWriteNode(parser.AST)) {
665
+ throw new Error(`Invalid ${label}: write/DDL nested in a subquery is not permitted`);
666
+ }
667
+ const allowed = this.entityBaseViewAllowList(provider);
668
+ const tables = SQLParser.ExtractTableRefs(wrapped, dialect);
669
+ for (const t of tables) {
670
+ const table = this.stripSqlIdent(t.TableName);
671
+ const schema = this.stripSqlIdent(t.SchemaName);
672
+ if (table.toLowerCase() === '__mj_clause_screen')
673
+ continue;
674
+ const qualified = `${schema}.${table}`.toLowerCase();
675
+ const bare = table.toLowerCase();
676
+ if (allowed.qualified.has(qualified) || allowed.bare.has(bare))
677
+ continue;
678
+ throw new Error(`Invalid ${label}: subquery must use an entity base view, not '${schema}.${table}'`);
679
+ }
680
+ }
681
+ /**
682
+ * Applies {@link assertClientClauseUsesEntityBaseViews} to every client-supplied clause
683
+ * a view request can carry. GraphQL entry points (RunViewByName, RunViewByID,
684
+ * RunDynamicView, RunViews) funnel through RunViewGenericInternal / RunViewsGenericInternal.
685
+ */
686
+ screenClientViewClauses(clauses, provider) {
687
+ this.assertClientClauseUsesEntityBaseViews(clauses.extraFilter, 'ExtraFilter', provider);
688
+ this.assertClientClauseUsesEntityBaseViews(clauses.orderBy, 'OrderBy', provider);
689
+ this.assertClientClauseUsesEntityBaseViews(clauses.userSearchString, 'UserSearchString', provider);
690
+ this.assertClientClauseUsesEntityBaseViews(clauses.overrideExcludeFilter, 'OverrideExcludeFilter', provider);
691
+ }
692
+ /** Same write-node walk as EDS `sqlReadOnlyScreen.astContainsWriteNode`. */
693
+ astContainsWriteNode(node) {
694
+ if (!node || typeof node !== 'object')
695
+ return false;
696
+ if (Array.isArray(node))
697
+ return node.some((n) => this.astContainsWriteNode(n));
698
+ const obj = node;
699
+ const type = obj.type;
700
+ if (typeof type === 'string' && ResolverBase.WRITE_NODE_TYPES.has(type.toLowerCase())) {
701
+ return true;
702
+ }
703
+ return Object.values(obj).some((v) => this.astContainsWriteNode(v));
704
+ }
705
+ static { this.WRITE_NODE_TYPES = new Set([
706
+ 'insert', 'update', 'delete', 'merge', 'replace', 'drop', 'create', 'alter', 'truncate',
707
+ 'rename', 'call', 'exec', 'execute', 'grant', 'revoke', 'use', 'load', 'copy', 'do',
708
+ ]); }
709
+ dialectForProvider(provider) {
710
+ const name = provider?.constructor?.name ?? '';
711
+ if (/postgres/i.test(name))
712
+ return new PostgreSQLDialect();
713
+ return new SQLServerDialect();
714
+ }
715
+ stripSqlIdent(name) {
716
+ if (!name)
717
+ return '';
718
+ return name.replace(/^\[|\]$/g, '').replace(/^"|"$/g, '').replace(/^`|`$/g, '');
719
+ }
720
+ entityBaseViewAllowList(provider) {
721
+ const qualified = new Set();
722
+ const bare = new Set();
723
+ const entities = provider?.Entities ?? [];
724
+ for (const e of entities) {
725
+ const view = this.stripSqlIdent(e.BaseView);
726
+ if (!view)
727
+ continue;
728
+ const schema = this.stripSqlIdent(e.SchemaName);
729
+ bare.add(view.toLowerCase());
730
+ if (schema)
731
+ qualified.add(`${schema}.${view}`.toLowerCase());
732
+ }
733
+ return { qualified, bare };
734
+ }
631
735
  /**
632
736
  * Optimized RunViewGenericInternal implementation with:
633
737
  * - Field filtering at source (Fix #7)
@@ -637,6 +741,9 @@ export class ResolverBase {
637
741
  try {
638
742
  if (!viewInfo || !userPayload)
639
743
  return null;
744
+ // SECURITY: GraphQL ExtraFilter may contain IN (SELECT … FROM <base view>).
745
+ // Screen at this boundary: parse, reject writes, allow only entity BaseViews.
746
+ this.screenClientViewClauses({ extraFilter, orderBy, userSearchString, overrideExcludeFilter }, provider);
640
747
  // Check API key scope authorization for view operations
641
748
  await this.CheckAPIKeyScopeAuthorization('view:run', viewInfo.Entity, userPayload);
642
749
  const md = provider;
@@ -777,6 +884,13 @@ export class ResolverBase {
777
884
  md = params[0].provider;
778
885
  // Transform parameters
779
886
  for (const param of params) {
887
+ // SECURITY: same GraphQL-boundary BaseView screen as RunViewGenericInternal.
888
+ this.screenClientViewClauses({
889
+ extraFilter: param.extraFilter,
890
+ orderBy: param.orderBy,
891
+ userSearchString: param.userSearchString,
892
+ overrideExcludeFilter: param.overrideExcludeFilter,
893
+ }, md);
780
894
  if (param.viewInfo) {
781
895
  // Validate entity only once per entity type
782
896
  const entityName = param.viewInfo.Entity;
@@ -1125,7 +1239,15 @@ export class ResolverBase {
1125
1239
  return await this.MapFieldNamesToCodeNames(entityName, entityObject.GetAll(), userInfo);
1126
1240
  }
1127
1241
  else {
1128
- throw new GraphQLError(entityObject.LatestResult?.Message ?? 'Unknown error', {
1242
+ // CompleteMessage, not Message. A validation refusal puts its reasons in `Errors` and leaves
1243
+ // `Message` unset, so reading `Message` here fell through to 'Unknown error' and discarded
1244
+ // every field-named explanation the entity had just produced. CreateRecord already read
1245
+ // CompleteMessage; this path did not, which is why the SAME rule on the SAME entity explained
1246
+ // itself on a create and said nothing on an update. CompleteMessage is a strict superset — it
1247
+ // starts from `Message`, then appends `Error` and `Errors` — so nothing previously reported is
1248
+ // lost, and it still yields undefined when there is genuinely nothing to say, leaving the
1249
+ // fallback below to fire rather than showing the user a blank error.
1250
+ throw new GraphQLError(entityObject.LatestResult?.CompleteMessage ?? 'Unknown error', {
1129
1251
  extensions: { code: 'SAVE_ENTITY_ERROR', entityName },
1130
1252
  });
1131
1253
  }
@@ -1335,7 +1457,11 @@ export class ResolverBase {
1335
1457
  return returnValue;
1336
1458
  }
1337
1459
  else {
1338
- throw new GraphQLError(entityObject.LatestResult?.Message ?? 'Unknown error', {
1460
+ // CompleteMessage, for the same reason as the update path above. It matters more going
1461
+ // forward: apps already refuse deletes by overriding Delete() and returning false with the
1462
+ // reason on LatestResult, and #3971 proposes a first-class delete-validation seam. Every one
1463
+ // of those reasons was being replaced by 'Unknown error' at the API boundary.
1464
+ throw new GraphQLError(entityObject.LatestResult?.CompleteMessage ?? 'Unknown error', {
1339
1465
  extensions: { code: 'DELETE_ENTITY_ERROR', entityName },
1340
1466
  });
1341
1467
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverBase.js","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResolverBase.js","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -31,6 +31,8 @@ export * from './types.js';
31
31
  export { getSystemUser, getSigningKeys, extractUserInfoFromPayload, verifyUserRecord, } from './auth/index.js';
32
32
  export * from './auth/APIKeyScopeAuth.js';
33
33
  export * from './auth/actingContextResolver.js';
34
+ export { ResolveConfiguredPrincipal, resolvePrincipalFrom } from './auth/principals.js';
35
+ export type { ResolvablePrincipal, PrincipalResolution, PrincipalResolutionReason } from './auth/principals.js';
34
36
  export { CloneUserForSessionContext } from './auth/sessionUserClone.js';
35
37
  export * from './generic/PushStatusResolver.js';
36
38
  export * from './generic/PubSubManager.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAY,gBAAgB,EAAuI,MAAM,sBAAsB,CAAC;AAUvM,OAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQ/C,OAAO,kBAAkB,CAAC;AAQ1B,OAAO,EAA2I,cAAc,EAAE,MAAM,aAAa,CAAC;AAmDtL,OAAO,EAAyB,qBAAqB,EAA4F,MAAM,wCAAwC,CAAC;AAMhM,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,IAAI,gBAAgB,CAE5C;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,cAAc,CAAC;AAI7B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AACpG,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAChI,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9E,cAAc,6DAA6D,CAAC;AAC5E,cAAc,YAAY,CAAC;AAC3B,OAAO,EACH,aAAa,EACb,cAAc,EACd,0BAA0B,EAC1B,gBAAgB,GACnB,MAAM,iBAAiB,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AAGjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iDAAiD,CAAC;AAChE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErH,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AAStC,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC5C,CAAC;AAUF,eAAO,MAAM,SAAS,QAAO,WAAwB,CAAC;AAoBtD,eAAO,MAAM,KAAK,GAAU,eAAe,KAAK,CAAC,MAAM,CAAC,EAAE,MAAK,WAAyB,EAAE,UAAU,eAAe,KAAG,OAAO,CAAC,IAAI,CAw0CjI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -103,6 +103,13 @@ export * from './types.js';
103
103
  export { getSystemUser, getSigningKeys, extractUserInfoFromPayload, verifyUserRecord, } from './auth/index.js';
104
104
  export * from './auth/APIKeyScopeAuth.js';
105
105
  export * from './auth/actingContextResolver.js';
106
+ // The context-user ladder (#4209). Public because `auth/exampleNewUserSubClass.ts` — the template
107
+ // integrators are told to copy into their OWN package — resolves through it, and `package.json`
108
+ // publishes only "."; without this the example compiles here and cannot be reused anywhere else.
109
+ // `ReportedMisconfigurationCount` / `MAX_REPORTED_MISCONFIGURATIONS` are deliberately NOT here:
110
+ // they exist so the LRU's bound is assertable, the tests import them from the module directly, and
111
+ // a published export is a maintenance commitment no caller asked for.
112
+ export { ResolveConfiguredPrincipal, resolvePrincipalFrom } from './auth/principals.js';
106
113
  export { CloneUserForSessionContext } from './auth/sessionUserClone.js';
107
114
  export * from './generic/PushStatusResolver.js';
108
115
  export * from './generic/PubSubManager.js';
@@ -1087,18 +1094,25 @@ export const serve = async (resolverPaths, app = createApp(), options) => {
1087
1094
  // because they lack Access-Control-Allow-Origin headers, preventing the
1088
1095
  // client from reading the error code and triggering token refresh.
1089
1096
  const corsAllowed = configInfo.cors?.allowedOrigins ?? ['*'];
1097
+ const corsWildcard = corsAllowed.includes('*');
1098
+ // SECURITY: never combine credentials with a wildcard/reflect-any-origin policy. When
1099
+ // allowedOrigins is ['*'] the origin callback reflects the caller's Origin, and pairing that
1100
+ // with Access-Control-Allow-Credentials: true lets any site a signed-in user visits make
1101
+ // credentialed cross-origin reads. MJ's primary auth is a Bearer token (not auto-sent
1102
+ // cross-origin), so dropping credentials under the wildcard default is safe; deployments that
1103
+ // genuinely need credentialed CORS must configure an explicit allowedOrigins list.
1090
1104
  app.use(cors({
1091
1105
  origin: (origin, callback) => {
1092
1106
  // Allow all origins when ['*'] (default/backward-compatible),
1093
1107
  // or when no Origin header (server-to-server calls).
1094
- if (corsAllowed.includes('*') || !origin || corsAllowed.includes(origin)) {
1108
+ if (corsWildcard || !origin || corsAllowed.includes(origin)) {
1095
1109
  callback(null, true);
1096
1110
  }
1097
1111
  else {
1098
1112
  callback(new Error(`Origin ${origin} not allowed by CORS`));
1099
1113
  }
1100
1114
  },
1101
- credentials: configInfo.cors?.allowCredentials ?? true,
1115
+ credentials: corsWildcard ? false : (configInfo.cors?.allowCredentials ?? true),
1102
1116
  maxAge: configInfo.cors?.maxAge ?? 86400,
1103
1117
  }));
1104
1118
  // ─── Server extensions (before auth — extensions handle their own auth) ─────