mongodb 6.14.2-dev.20250313.sha.54d29e56 → 6.14.2-dev.20250315.sha.cd09d435
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.
- package/lib/beta.d.ts +57 -0
- package/lib/client-side-encryption/auto_encrypter.js +5 -1
- package/lib/client-side-encryption/auto_encrypter.js.map +1 -1
- package/lib/client-side-encryption/client_encryption.js +5 -1
- package/lib/client-side-encryption/client_encryption.js.map +1 -1
- package/lib/client-side-encryption/providers/aws.js +2 -2
- package/lib/client-side-encryption/providers/aws.js.map +1 -1
- package/lib/client-side-encryption/providers/index.js +2 -2
- package/lib/client-side-encryption/providers/index.js.map +1 -1
- package/lib/cmap/auth/aws_temporary_credentials.js +10 -0
- package/lib/cmap/auth/aws_temporary_credentials.js.map +1 -1
- package/lib/cmap/auth/mongo_credentials.js.map +1 -1
- package/lib/cmap/auth/mongodb_aws.js +3 -2
- package/lib/cmap/auth/mongodb_aws.js.map +1 -1
- package/lib/cursor/abstract_cursor.js +13 -2
- package/lib/cursor/abstract_cursor.js.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/mongo_client_auth_providers.js +24 -27
- package/lib/mongo_client_auth_providers.js.map +1 -1
- package/lib/sdam/server.js +6 -4
- package/lib/sdam/server.js.map +1 -1
- package/lib/timeout.js +6 -1
- package/lib/timeout.js.map +1 -1
- package/mongodb.d.ts +57 -0
- package/package.json +1 -1
- package/src/client-side-encryption/auto_encrypter.ts +17 -2
- package/src/client-side-encryption/client_encryption.ts +18 -1
- package/src/client-side-encryption/providers/aws.ts +9 -3
- package/src/client-side-encryption/providers/index.ts +15 -2
- package/src/cmap/auth/aws_temporary_credentials.ts +17 -1
- package/src/cmap/auth/mongo_credentials.ts +28 -0
- package/src/cmap/auth/mongodb_aws.ts +6 -2
- package/src/cursor/abstract_cursor.ts +49 -40
- package/src/deps.ts +2 -2
- package/src/index.ts +3 -1
- package/src/mongo_client_auth_providers.ts +26 -29
- package/src/sdam/server.ts +7 -4
- 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
|
-
[
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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":";;;AACA,+CAA4C;AAE5C,yDAAqD;AACrD,2DAAsF;AACtF,sGAAiG;AACjG,8FAAyF;AACzF,sEAAkE;AAClE,6CAA0C;AAC1C,qDAAsD;AACtD,6CAA2D;AAC3D,2CAAwC;AACxC,mCAAoD;AAEpD,gBAAgB;AAChB,MAAM,cAAc,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"mongo_client_auth_providers.js","sourceRoot":"","sources":["../src/mongo_client_auth_providers.ts"],"names":[],"mappings":"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"}
|
package/lib/sdam/server.js
CHANGED
|
@@ -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)
|
|
179
|
+
reauthPromise = this.pool.reauthenticate(conn);
|
|
180
|
+
reauthPromise.then(undefined, error => {
|
|
180
181
|
reauthPromise = null;
|
|
181
|
-
|
|
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
|
-
|
|
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);
|
package/lib/sdam/server.js.map
CHANGED
|
@@ -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 });
|
package/lib/timeout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../src/timeout.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAGlD,mCAAmG;AAEnG,
|
|
1
|
+
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../src/timeout.ts"],"names":[],"mappings":"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"}
|
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
|
@@ -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 {
|
|
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 {
|
|
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(
|
|
8
|
-
|
|
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(
|
|
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?:
|
|
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
|
-
|
|
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
|
|