mongodb 6.14.2 → 6.15.0-dev.20250320.sha.af30db93

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 (40) hide show
  1. package/README.md +8 -12
  2. package/lib/beta.d.ts +57 -0
  3. package/lib/client-side-encryption/auto_encrypter.js +5 -1
  4. package/lib/client-side-encryption/auto_encrypter.js.map +1 -1
  5. package/lib/client-side-encryption/client_encryption.js +5 -1
  6. package/lib/client-side-encryption/client_encryption.js.map +1 -1
  7. package/lib/client-side-encryption/providers/aws.js +2 -2
  8. package/lib/client-side-encryption/providers/aws.js.map +1 -1
  9. package/lib/client-side-encryption/providers/index.js +2 -2
  10. package/lib/client-side-encryption/providers/index.js.map +1 -1
  11. package/lib/cmap/auth/aws_temporary_credentials.js +10 -0
  12. package/lib/cmap/auth/aws_temporary_credentials.js.map +1 -1
  13. package/lib/cmap/auth/mongo_credentials.js.map +1 -1
  14. package/lib/cmap/auth/mongodb_aws.js +3 -2
  15. package/lib/cmap/auth/mongodb_aws.js.map +1 -1
  16. package/lib/cursor/abstract_cursor.js +13 -2
  17. package/lib/cursor/abstract_cursor.js.map +1 -1
  18. package/lib/index.js +0 -1
  19. package/lib/index.js.map +1 -1
  20. package/lib/mongo_client_auth_providers.js +24 -27
  21. package/lib/mongo_client_auth_providers.js.map +1 -1
  22. package/lib/sdam/server.js +6 -4
  23. package/lib/sdam/server.js.map +1 -1
  24. package/lib/timeout.js +6 -1
  25. package/lib/timeout.js.map +1 -1
  26. package/mongodb.d.ts +57 -0
  27. package/package.json +2 -2
  28. package/src/client-side-encryption/auto_encrypter.ts +17 -2
  29. package/src/client-side-encryption/client_encryption.ts +18 -1
  30. package/src/client-side-encryption/providers/aws.ts +9 -3
  31. package/src/client-side-encryption/providers/index.ts +15 -2
  32. package/src/cmap/auth/aws_temporary_credentials.ts +17 -1
  33. package/src/cmap/auth/mongo_credentials.ts +28 -0
  34. package/src/cmap/auth/mongodb_aws.ts +6 -2
  35. package/src/cursor/abstract_cursor.ts +49 -40
  36. package/src/deps.ts +2 -2
  37. package/src/index.ts +3 -1
  38. package/src/mongo_client_auth_providers.ts +26 -29
  39. package/src/sdam/server.ts +7 -4
  40. package/src/timeout.ts +8 -2
@@ -14,7 +14,10 @@ const x509_1 = require("./cmap/auth/x509");
14
14
  const error_1 = require("./error");
15
15
  /** @internal */
16
16
  const AUTH_PROVIDERS = new Map([
17
- [providers_1.AuthMechanism.MONGODB_AWS, () => new mongodb_aws_1.MongoDBAWS()],
17
+ [
18
+ providers_1.AuthMechanism.MONGODB_AWS,
19
+ ({ AWS_CREDENTIAL_PROVIDER }) => new mongodb_aws_1.MongoDBAWS(AWS_CREDENTIAL_PROVIDER)
20
+ ],
18
21
  [
19
22
  providers_1.AuthMechanism.MONGODB_CR,
20
23
  () => {
@@ -22,7 +25,7 @@ const AUTH_PROVIDERS = new Map([
22
25
  }
23
26
  ],
24
27
  [providers_1.AuthMechanism.MONGODB_GSSAPI, () => new gssapi_1.GSSAPI()],
25
- [providers_1.AuthMechanism.MONGODB_OIDC, (workflow) => new mongodb_oidc_1.MongoDBOIDC(workflow)],
28
+ [providers_1.AuthMechanism.MONGODB_OIDC, properties => new mongodb_oidc_1.MongoDBOIDC(getWorkflow(properties))],
26
29
  [providers_1.AuthMechanism.MONGODB_PLAIN, () => new plain_1.Plain()],
27
30
  [providers_1.AuthMechanism.MONGODB_SCRAM_SHA1, () => new scram_1.ScramSHA1()],
28
31
  [providers_1.AuthMechanism.MONGODB_SCRAM_SHA256, () => new scram_1.ScramSHA256()],
@@ -55,35 +58,29 @@ class MongoClientAuthProviders {
55
58
  if (!providerFunction) {
56
59
  throw new error_1.MongoInvalidArgumentError(`authMechanism ${name} not supported`);
57
60
  }
58
- let provider;
59
- if (name === providers_1.AuthMechanism.MONGODB_OIDC) {
60
- provider = providerFunction(this.getWorkflow(authMechanismProperties));
61
- }
62
- else {
63
- provider = providerFunction();
64
- }
61
+ const provider = providerFunction(authMechanismProperties);
65
62
  this.existingProviders.set(name, provider);
66
63
  return provider;
67
64
  }
68
- /**
69
- * Gets either a device workflow or callback workflow.
70
- */
71
- getWorkflow(authMechanismProperties) {
72
- if (authMechanismProperties.OIDC_HUMAN_CALLBACK) {
73
- return new human_callback_workflow_1.HumanCallbackWorkflow(new token_cache_1.TokenCache(), authMechanismProperties.OIDC_HUMAN_CALLBACK);
74
- }
75
- else if (authMechanismProperties.OIDC_CALLBACK) {
76
- return new automated_callback_workflow_1.AutomatedCallbackWorkflow(new token_cache_1.TokenCache(), authMechanismProperties.OIDC_CALLBACK);
77
- }
78
- else {
79
- const environment = authMechanismProperties.ENVIRONMENT;
80
- const workflow = mongodb_oidc_1.OIDC_WORKFLOWS.get(environment)?.();
81
- if (!workflow) {
82
- throw new error_1.MongoInvalidArgumentError(`Could not load workflow for environment ${authMechanismProperties.ENVIRONMENT}`);
83
- }
84
- return workflow;
65
+ }
66
+ exports.MongoClientAuthProviders = MongoClientAuthProviders;
67
+ /**
68
+ * Gets either a device workflow or callback workflow.
69
+ */
70
+ function getWorkflow(authMechanismProperties) {
71
+ if (authMechanismProperties.OIDC_HUMAN_CALLBACK) {
72
+ return new human_callback_workflow_1.HumanCallbackWorkflow(new token_cache_1.TokenCache(), authMechanismProperties.OIDC_HUMAN_CALLBACK);
73
+ }
74
+ else if (authMechanismProperties.OIDC_CALLBACK) {
75
+ return new automated_callback_workflow_1.AutomatedCallbackWorkflow(new token_cache_1.TokenCache(), authMechanismProperties.OIDC_CALLBACK);
76
+ }
77
+ else {
78
+ const environment = authMechanismProperties.ENVIRONMENT;
79
+ const workflow = mongodb_oidc_1.OIDC_WORKFLOWS.get(environment)?.();
80
+ if (!workflow) {
81
+ throw new error_1.MongoInvalidArgumentError(`Could not load workflow for environment ${authMechanismProperties.ENVIRONMENT}`);
85
82
  }
83
+ return workflow;
86
84
  }
87
85
  }
88
- exports.MongoClientAuthProviders = MongoClientAuthProviders;
89
86
  //# sourceMappingURL=mongo_client_auth_providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongo_client_auth_providers.js","sourceRoot":"","sources":["../src/mongo_client_auth_providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo_client_auth_providers.js","sourceRoot":"","sources":["../src/mongo_client_auth_providers.ts"],"names":[],"mappings":"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"}
@@ -176,9 +176,10 @@ class Server extends mongo_types_1.TypedEventEmitter {
176
176
  catch (operationError) {
177
177
  if (operationError instanceof error_1.MongoError &&
178
178
  operationError.code === error_1.MONGODB_ERROR_CODES.Reauthenticate) {
179
- reauthPromise = this.pool.reauthenticate(conn).catch(error => {
179
+ reauthPromise = this.pool.reauthenticate(conn);
180
+ reauthPromise.then(undefined, error => {
180
181
  reauthPromise = null;
181
- throw error;
182
+ (0, utils_1.squashError)(error);
182
183
  });
183
184
  await (0, utils_1.abortable)(reauthPromise, options);
184
185
  reauthPromise = null; // only reachable if reauth succeeds
@@ -200,9 +201,10 @@ class Server extends mongo_types_1.TypedEventEmitter {
200
201
  if (session?.pinnedConnection !== conn) {
201
202
  if (reauthPromise != null) {
202
203
  // The reauth promise only exists if it hasn't thrown.
203
- void reauthPromise.finally(() => {
204
+ const checkBackIn = () => {
204
205
  this.pool.checkIn(conn);
205
- });
206
+ };
207
+ void reauthPromise.then(checkBackIn, checkBackIn);
206
208
  }
207
209
  else {
208
210
  this.pool.checkIn(conn);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sdam/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sdam/server.ts"],"names":[],"mappings":"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"}
package/lib/timeout.js CHANGED
@@ -80,8 +80,13 @@ class Timeout extends Promise {
80
80
  this.cleared = true;
81
81
  }
82
82
  throwIfExpired() {
83
- if (this.timedOut)
83
+ if (this.timedOut) {
84
+ // This method is invoked when someone wants to throw immediately instead of await the result of this promise
85
+ // Since they won't be handling the rejection from the promise (because we're about to throw here)
86
+ // attach handling to prevent this from bubbling up to Node.js
87
+ this.then(undefined, utils_1.squashError);
84
88
  throw new TimeoutError('Timed out', { duration: this.duration });
89
+ }
85
90
  }
86
91
  static expires(duration, unref) {
87
92
  return new Timeout(undefined, { duration, unref });
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../src/timeout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../src/timeout.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAGlD,mCAAmG;AAEnG,mCAAqD;AAErD,gBAAgB;AAChB,MAAa,YAAa,SAAQ,KAAK;IAErC,IAAa,IAAI;QACf,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,YAAY,OAAe,EAAE,OAA4C;QACvE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,KAAc;QACtB,OAAO,CACL,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAC/F,CAAC;IACJ,CAAC;CACF;AAhBD,oCAgBC;AAID;;;;;KAKK;AACL,MAAa,OAAQ,SAAQ,OAAc;IASzC,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACzC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IACpD,CAAC;IAED,yDAAyD;IACzD,YACE,WAAqB,GAAG,EAAE,CAAC,IAAI,EAC/B,OAA+D;QAE/D,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QAErC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,iCAAyB,CAAC,kDAAkD,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,MAAe,CAAC;QACpB,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE;YACzB,MAAM,GAAG,aAAa,CAAC;YAEvB,QAAQ,CAAC,YAAI,EAAE,aAAa,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAjCE,UAAK,GAAkB,IAAI,CAAC;QAE3B,aAAQ,GAAG,KAAK,CAAC;QAClB,YAAO,GAAG,KAAK,CAAC;QAgCrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAE3C,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,EAAE,GAAG,IAAA,mBAAU,EAAC,GAAG,EAAE;gBACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM,CAAC,IAAI,YAAY,CAAC,iBAAiB,QAAQ,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACxE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,EAAE,CAAC;gBACjD,uDAAuD;gBACvD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAA,qBAAY,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,6GAA6G;YAC7G,kGAAkG;YAClG,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAW,CAAC,CAAC;YAClC,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,QAAgB,EAAE,KAAY;QAClD,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAU,MAAM,CAAC,SAAiB;QACtC,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;CACF;AAtFD,0BAsFC;AAqBD,SAAS,6BAA6B,CAAC,CAAU;IAC/C,OAAO,CACL,CAAC,IAAI,IAAI;QACT,OAAO,CAAC,KAAK,QAAQ;QACrB,0BAA0B,IAAI,CAAC;QAC/B,OAAO,CAAC,CAAC,wBAAwB,KAAK,QAAQ;QAC9C,oBAAoB,IAAI,CAAC;QACzB,OAAO,CAAC,CAAC,kBAAkB,KAAK,QAAQ,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,CAAU;IAC7C,OAAO,CACL,CAAC,IAAI,IAAI;QACT,OAAO,CAAC,KAAK,QAAQ;QACrB,0BAA0B,IAAI,CAAC;QAC/B,OAAO,CAAC,CAAC,wBAAwB,KAAK,QAAQ;QAC9C,WAAW,IAAI,CAAC;QAChB,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAChC,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAsB,cAAc;IAClC,MAAM,CAAC,MAAM,CAAC,OAA8B;QAC1C,IAAI,OAAO,CAAC,OAAO,EAAE,cAAc,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC;QACpF,IAAI,2BAA2B,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;aAC5E,IAAI,6BAA6B,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;;YACrF,MAAM,IAAI,yBAAiB,CAAC,sBAAsB,CAAC,CAAC;IAC3D,CAAC;CA0BF;AAhCD,wCAgCC;AAED,gBAAgB;AAChB,MAAa,kBAAmB,SAAQ,cAAc;IAYpD,YAAY,OAAkC;QAC5C,KAAK,EAAE,CAAC;QAJH,qBAAgB,GAAG,CAAC,CAAC;QAK1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEnC,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;QAEjE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAE/C,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;IAC3C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACtD,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9D,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;IACtE,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,sBAAsB;QACxB,sBAAsB;QACtB,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,QAAQ,IAAI,IAAI,CAAC,uBAAuB,EAAE,OAAO,EAAE,CAAC;YAC9F,MAAM,EAAE,eAAe,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;YAC3D,IAAI,eAAe,IAAI,CAAC;gBACtB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,kCAA0B,CAAC,uCAAuC,IAAI,CAAC,SAAS,IAAI,CAAC,CAC1F,CAAC;YACJ,MAAM,6BAA6B,GACjC,wBAAwB,KAAK,CAAC;gBAC9B,IAAA,eAAO,EAAC,eAAe,EAAE,wBAAwB,CAAC,KAAK,wBAAwB,CAAC;YAClF,IAAI,6BAA6B,EAAE,CAAC;gBAClC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAe,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,IAAI,yBAAyB;QAC3B,IACE,OAAO,IAAI,CAAC,0BAA0B,KAAK,QAAQ;YACnD,IAAI,CAAC,0BAA0B,EAAE,OAAO,EACxC,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,QAAQ,EAAE,CAAC;gBACrD,kBAAkB;gBAClB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,uBAAuB,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,yBAAiB,CACzB,oGAAoG,CACrG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAED,IAAI,qBAAqB;QACvB,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,IAAI,eAAe,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,kCAA0B,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,oBAAoB;QACtB,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,IAAI,eAAe,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,kCAA0B,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED;;;;QAII;IACJ,yBAAyB,CAAC,OAAgB;QACxC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,eAAe,IAAI,CAAC;YACtB,MAAM,IAAI,kCAA0B,CAAC,OAAO,IAAI,iBAAiB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACvF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC;YAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;SACxD,CAAC,CAAC;QACH,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,cAAc,CAAC;IACxB,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEQ,qBAAqB,CAAC,OAAiB,EAAE,OAAoC;QACpF,IAAI,OAAO,CAAC,aAAa;YAAE,OAAO;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/D,IAAI,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IACjF,CAAC;IAEQ,kBAAkB;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAjJD,gDAiJC;AAED,gBAAgB;AAChB,MAAa,oBAAqB,SAAQ,cAAc;IAItD,YAAY,OAAoC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,WAAW;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,sBAAsB;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,GAAG,CAAC;YAC5F,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,yBAAyB;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,CAAC;YAChF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO;IACT,CAAC;IAED,KAAK;QACH,OAAO;IACT,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAEQ,qBAAqB,CAAC,QAAkB,EAAE,QAAqC;QACtF,6DAA6D;IAC/D,CAAC;IAEQ,kBAAkB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACtC,CAAC;CACF;AAzDD,oDAyDC"}
package/mongodb.d.ts CHANGED
@@ -680,6 +680,33 @@ export declare interface AuthMechanismProperties extends Document {
680
680
  ALLOWED_HOSTS?: string[];
681
681
  /** The resource token for OIDC auth in Azure and GCP. */
682
682
  TOKEN_RESOURCE?: string;
683
+ /**
684
+ * A custom AWS credential provider to use. An example using the AWS SDK default provider chain:
685
+ *
686
+ * ```ts
687
+ * const client = new MongoClient(process.env.MONGODB_URI, {
688
+ * authMechanismProperties: {
689
+ * AWS_CREDENTIAL_PROVIDER: fromNodeProviderChain()
690
+ * }
691
+ * });
692
+ * ```
693
+ *
694
+ * Using a custom function that returns AWS credentials:
695
+ *
696
+ * ```ts
697
+ * const client = new MongoClient(process.env.MONGODB_URI, {
698
+ * authMechanismProperties: {
699
+ * AWS_CREDENTIAL_PROVIDER: async () => {
700
+ * return {
701
+ * accessKeyId: process.env.ACCESS_KEY_ID,
702
+ * secretAccessKey: process.env.SECRET_ACCESS_KEY
703
+ * }
704
+ * }
705
+ * }
706
+ * });
707
+ * ```
708
+ */
709
+ AWS_CREDENTIAL_PROVIDER?: AWSCredentialProvider;
683
710
  }
684
711
 
685
712
  /* Excluded from this release type: AuthProvider */
@@ -726,6 +753,8 @@ export declare interface AutoEncryptionOptions {
726
753
  keyVaultNamespace?: string;
727
754
  /** Configuration options that are used by specific KMS providers during key generation, encryption, and decryption. */
728
755
  kmsProviders?: KMSProviders;
756
+ /** Configuration options for custom credential providers. */
757
+ credentialProviders?: CredentialProviders;
729
758
  /**
730
759
  * A map of namespaces to a local JSON schema for encryption
731
760
  *
@@ -797,6 +826,21 @@ export declare interface AutoEncryptionOptions {
797
826
  tlsOptions?: CSFLEKMSTlsOptions;
798
827
  }
799
828
 
829
+ /** @public **/
830
+ export declare type AWSCredentialProvider = () => Promise<AWSCredentials>;
831
+
832
+ /**
833
+ * @public
834
+ * Copy of the AwsCredentialIdentityProvider interface from [`smithy/types`](https://socket.dev/npm/package/\@smithy/types/files/1.1.1/dist-types/identity/awsCredentialIdentity.d.ts),
835
+ * the return type of the aws-sdk's `fromNodeProviderChain().provider()`.
836
+ */
837
+ export declare interface AWSCredentials {
838
+ accessKeyId: string;
839
+ secretAccessKey: string;
840
+ sessionToken?: string;
841
+ expiration?: Date;
842
+ }
843
+
800
844
  /**
801
845
  * @public
802
846
  * Configuration options for making an AWS encryption key
@@ -1746,6 +1790,7 @@ export declare class ClientEncryption {
1746
1790
  /* Excluded from this release type: _kmsProviders */
1747
1791
  /* Excluded from this release type: _timeoutMS */
1748
1792
  /* Excluded from this release type: _mongoCrypt */
1793
+ /* Excluded from this release type: _credentialProviders */
1749
1794
  /* Excluded from this release type: getMongoCrypt */
1750
1795
  /**
1751
1796
  * Create a new encryption instance
@@ -2107,6 +2152,10 @@ export declare interface ClientEncryptionOptions {
2107
2152
  * Options for specific KMS providers to use
2108
2153
  */
2109
2154
  kmsProviders?: KMSProviders;
2155
+ /**
2156
+ * Options for user provided custom credential providers.
2157
+ */
2158
+ credentialProviders?: CredentialProviders;
2110
2159
  /**
2111
2160
  * Options for specifying a Socks5 proxy to use for connecting to the KMS.
2112
2161
  */
@@ -3710,6 +3759,14 @@ export declare interface CreateIndexesOptions extends Omit<CommandOperationOptio
3710
3759
  hidden?: boolean;
3711
3760
  }
3712
3761
 
3762
+ /**
3763
+ * @public
3764
+ * Configuration options for custom credential providers for KMS requests.
3765
+ */
3766
+ export declare interface CredentialProviders {
3767
+ aws?: AWSCredentialProvider;
3768
+ }
3769
+
3713
3770
  /** @public */
3714
3771
  export declare type CSFLEKMSTlsOptions = {
3715
3772
  aws?: ClientEncryptionTlsOptions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb",
3
- "version": "6.14.2",
3
+ "version": "6.15.0-dev.20250320.sha.af30db93",
4
4
  "description": "The official MongoDB driver for Node.js",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -175,4 +175,4 @@
175
175
  "moduleResolution": "node"
176
176
  }
177
177
  }
178
- }
178
+ }
@@ -17,7 +17,12 @@ import { autoSelectSocketOptions } from './client_encryption';
17
17
  import * as cryptoCallbacks from './crypto_callbacks';
18
18
  import { MongoCryptInvalidArgumentError } from './errors';
19
19
  import { MongocryptdManager } from './mongocryptd_manager';
20
- import { type KMSProviders, refreshKMSCredentials } from './providers';
20
+ import {
21
+ type CredentialProviders,
22
+ isEmptyCredentials,
23
+ type KMSProviders,
24
+ refreshKMSCredentials
25
+ } from './providers';
21
26
  import { type CSFLEKMSTlsOptions, StateMachine } from './state_machine';
22
27
 
23
28
  /** @public */
@@ -30,6 +35,8 @@ export interface AutoEncryptionOptions {
30
35
  keyVaultNamespace?: string;
31
36
  /** Configuration options that are used by specific KMS providers during key generation, encryption, and decryption. */
32
37
  kmsProviders?: KMSProviders;
38
+ /** Configuration options for custom credential providers. */
39
+ credentialProviders?: CredentialProviders;
33
40
  /**
34
41
  * A map of namespaces to a local JSON schema for encryption
35
42
  *
@@ -153,6 +160,7 @@ export class AutoEncrypter {
153
160
  _kmsProviders: KMSProviders;
154
161
  _bypassMongocryptdAndCryptShared: boolean;
155
162
  _contextCounter: number;
163
+ _credentialProviders?: CredentialProviders;
156
164
 
157
165
  _mongocryptdManager?: MongocryptdManager;
158
166
  _mongocryptdClient?: MongoClient;
@@ -237,6 +245,13 @@ export class AutoEncrypter {
237
245
  this._proxyOptions = options.proxyOptions || {};
238
246
  this._tlsOptions = options.tlsOptions || {};
239
247
  this._kmsProviders = options.kmsProviders || {};
248
+ this._credentialProviders = options.credentialProviders;
249
+
250
+ if (options.credentialProviders?.aws && !isEmptyCredentials('aws', this._kmsProviders)) {
251
+ throw new MongoCryptInvalidArgumentError(
252
+ 'Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching'
253
+ );
254
+ }
240
255
 
241
256
  const mongoCryptOptions: MongoCryptOptions = {
242
257
  enableMultipleCollinfo: true,
@@ -439,7 +454,7 @@ export class AutoEncrypter {
439
454
  * the original ones.
440
455
  */
441
456
  async askForKMSCredentials(): Promise<KMSProviders> {
442
- return await refreshKMSCredentials(this._kmsProviders);
457
+ return await refreshKMSCredentials(this._kmsProviders, this._credentialProviders);
443
458
  }
444
459
 
445
460
  /**
@@ -34,6 +34,8 @@ import {
34
34
  } from './errors';
35
35
  import {
36
36
  type ClientEncryptionDataKeyProvider,
37
+ type CredentialProviders,
38
+ isEmptyCredentials,
37
39
  type KMSProviders,
38
40
  refreshKMSCredentials
39
41
  } from './providers/index';
@@ -81,6 +83,9 @@ export class ClientEncryption {
81
83
  /** @internal */
82
84
  _mongoCrypt: MongoCrypt;
83
85
 
86
+ /** @internal */
87
+ _credentialProviders?: CredentialProviders;
88
+
84
89
  /** @internal */
85
90
  static getMongoCrypt(): MongoCryptConstructor {
86
91
  const encryption = getMongoDBClientEncryption();
@@ -125,6 +130,13 @@ export class ClientEncryption {
125
130
  this._kmsProviders = options.kmsProviders || {};
126
131
  const { timeoutMS } = resolveTimeoutOptions(client, options);
127
132
  this._timeoutMS = timeoutMS;
133
+ this._credentialProviders = options.credentialProviders;
134
+
135
+ if (options.credentialProviders?.aws && !isEmptyCredentials('aws', this._kmsProviders)) {
136
+ throw new MongoCryptInvalidArgumentError(
137
+ 'Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching'
138
+ );
139
+ }
128
140
 
129
141
  if (options.keyVaultNamespace == null) {
130
142
  throw new MongoCryptInvalidArgumentError('Missing required option `keyVaultNamespace`');
@@ -712,7 +724,7 @@ export class ClientEncryption {
712
724
  * the original ones.
713
725
  */
714
726
  async askForKMSCredentials(): Promise<KMSProviders> {
715
- return await refreshKMSCredentials(this._kmsProviders);
727
+ return await refreshKMSCredentials(this._kmsProviders, this._credentialProviders);
716
728
  }
717
729
 
718
730
  static get libmongocryptVersion() {
@@ -858,6 +870,11 @@ export interface ClientEncryptionOptions {
858
870
  */
859
871
  kmsProviders?: KMSProviders;
860
872
 
873
+ /**
874
+ * Options for user provided custom credential providers.
875
+ */
876
+ credentialProviders?: CredentialProviders;
877
+
861
878
  /**
862
879
  * Options for specifying a Socks5 proxy to use for connecting to the KMS.
863
880
  */
@@ -1,11 +1,17 @@
1
- import { AWSSDKCredentialProvider } from '../../cmap/auth/aws_temporary_credentials';
1
+ import {
2
+ type AWSCredentialProvider,
3
+ AWSSDKCredentialProvider
4
+ } from '../../cmap/auth/aws_temporary_credentials';
2
5
  import { type KMSProviders } from '.';
3
6
 
4
7
  /**
5
8
  * @internal
6
9
  */
7
- export async function loadAWSCredentials(kmsProviders: KMSProviders): Promise<KMSProviders> {
8
- const credentialProvider = new AWSSDKCredentialProvider();
10
+ export async function loadAWSCredentials(
11
+ kmsProviders: KMSProviders,
12
+ provider?: AWSCredentialProvider
13
+ ): Promise<KMSProviders> {
14
+ const credentialProvider = new AWSSDKCredentialProvider(provider);
9
15
 
10
16
  // We shouldn't ever receive a response from the AWS SDK that doesn't have a `SecretAccessKey`
11
17
  // or `AccessKeyId`. However, TS says these fields are optional. We provide empty strings
@@ -1,4 +1,5 @@
1
1
  import type { Binary } from '../../bson';
2
+ import { type AWSCredentialProvider } from '../../cmap/auth/aws_temporary_credentials';
2
3
  import { loadAWSCredentials } from './aws';
3
4
  import { loadAzureCredentials } from './azure';
4
5
  import { loadGCPCredentials } from './gcp';
@@ -112,6 +113,15 @@ export type GCPKMSProviderConfiguration =
112
113
  accessToken: string;
113
114
  };
114
115
 
116
+ /**
117
+ * @public
118
+ * Configuration options for custom credential providers for KMS requests.
119
+ */
120
+ export interface CredentialProviders {
121
+ /* A custom AWS credential provider */
122
+ aws?: AWSCredentialProvider;
123
+ }
124
+
115
125
  /**
116
126
  * @public
117
127
  * Configuration options that are used by specific KMS providers during key generation, encryption, and decryption.
@@ -176,11 +186,14 @@ export function isEmptyCredentials(
176
186
  *
177
187
  * @internal
178
188
  */
179
- export async function refreshKMSCredentials(kmsProviders: KMSProviders): Promise<KMSProviders> {
189
+ export async function refreshKMSCredentials(
190
+ kmsProviders: KMSProviders,
191
+ credentialProviders?: CredentialProviders
192
+ ): Promise<KMSProviders> {
180
193
  let finalKMSProviders = kmsProviders;
181
194
 
182
195
  if (isEmptyCredentials('aws', kmsProviders)) {
183
- finalKMSProviders = await loadAWSCredentials(finalKMSProviders);
196
+ finalKMSProviders = await loadAWSCredentials(finalKMSProviders, credentialProviders?.aws);
184
197
  }
185
198
 
186
199
  if (isEmptyCredentials('gcp', kmsProviders)) {
@@ -21,6 +21,9 @@ export interface AWSTempCredentials {
21
21
  Expiration?: Date;
22
22
  }
23
23
 
24
+ /** @public **/
25
+ export type AWSCredentialProvider = () => Promise<AWSCredentials>;
26
+
24
27
  /**
25
28
  * @internal
26
29
  *
@@ -41,7 +44,20 @@ export abstract class AWSTemporaryCredentialProvider {
41
44
 
42
45
  /** @internal */
43
46
  export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
44
- private _provider?: () => Promise<AWSCredentials>;
47
+ private _provider?: AWSCredentialProvider;
48
+
49
+ /**
50
+ * Create the SDK credentials provider.
51
+ * @param credentialsProvider - The credentials provider.
52
+ */
53
+ constructor(credentialsProvider?: AWSCredentialProvider) {
54
+ super();
55
+
56
+ if (credentialsProvider) {
57
+ this._provider = credentialsProvider;
58
+ }
59
+ }
60
+
45
61
  /**
46
62
  * The AWS SDK caches credentials automatically and handles refresh when the credentials have expired.
47
63
  * To ensure this occurs, we need to cache the `provider` returned by the AWS sdk and re-use it when fetching credentials.
@@ -6,6 +6,7 @@ import {
6
6
  MongoInvalidArgumentError,
7
7
  MongoMissingCredentialsError
8
8
  } from '../../error';
9
+ import type { AWSCredentialProvider } from './aws_temporary_credentials';
9
10
  import { GSSAPICanonicalizationValue } from './gssapi';
10
11
  import type { OIDCCallbackFunction } from './mongodb_oidc';
11
12
  import { AUTH_MECHS_AUTH_SRC_EXTERNAL, AuthMechanism } from './providers';
@@ -68,6 +69,33 @@ export interface AuthMechanismProperties extends Document {
68
69
  ALLOWED_HOSTS?: string[];
69
70
  /** The resource token for OIDC auth in Azure and GCP. */
70
71
  TOKEN_RESOURCE?: string;
72
+ /**
73
+ * A custom AWS credential provider to use. An example using the AWS SDK default provider chain:
74
+ *
75
+ * ```ts
76
+ * const client = new MongoClient(process.env.MONGODB_URI, {
77
+ * authMechanismProperties: {
78
+ * AWS_CREDENTIAL_PROVIDER: fromNodeProviderChain()
79
+ * }
80
+ * });
81
+ * ```
82
+ *
83
+ * Using a custom function that returns AWS credentials:
84
+ *
85
+ * ```ts
86
+ * const client = new MongoClient(process.env.MONGODB_URI, {
87
+ * authMechanismProperties: {
88
+ * AWS_CREDENTIAL_PROVIDER: async () => {
89
+ * return {
90
+ * accessKeyId: process.env.ACCESS_KEY_ID,
91
+ * secretAccessKey: process.env.SECRET_ACCESS_KEY
92
+ * }
93
+ * }
94
+ * }
95
+ * });
96
+ * ```
97
+ */
98
+ AWS_CREDENTIAL_PROVIDER?: AWSCredentialProvider;
71
99
  }
72
100
 
73
101
  /** @public */
@@ -9,6 +9,7 @@ import {
9
9
  import { ByteUtils, maxWireVersion, ns, randomBytes } from '../../utils';
10
10
  import { type AuthContext, AuthProvider } from './auth_provider';
11
11
  import {
12
+ type AWSCredentialProvider,
12
13
  AWSSDKCredentialProvider,
13
14
  type AWSTempCredentials,
14
15
  AWSTemporaryCredentialProvider,
@@ -34,11 +35,14 @@ interface AWSSaslContinuePayload {
34
35
 
35
36
  export class MongoDBAWS extends AuthProvider {
36
37
  private credentialFetcher: AWSTemporaryCredentialProvider;
37
- constructor() {
38
+ private credentialProvider?: AWSCredentialProvider;
39
+
40
+ constructor(credentialProvider?: AWSCredentialProvider) {
38
41
  super();
39
42
 
43
+ this.credentialProvider = credentialProvider;
40
44
  this.credentialFetcher = AWSTemporaryCredentialProvider.isAWSSDKInstalled
41
- ? new AWSSDKCredentialProvider()
45
+ ? new AWSSDKCredentialProvider(credentialProvider)
42
46
  : new LegacyAWSTemporaryCredentialProvider();
43
47
  }
44
48