mongodb 6.14.2-dev.20250314.sha.6895b258 → 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/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/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/deps.ts +2 -2
- package/src/index.ts +3 -1
- package/src/mongo_client_auth_providers.ts +26 -29
package/lib/beta.d.ts
CHANGED
|
@@ -689,6 +689,33 @@ export declare interface AuthMechanismProperties extends Document {
|
|
|
689
689
|
ALLOWED_HOSTS?: string[];
|
|
690
690
|
/** The resource token for OIDC auth in Azure and GCP. */
|
|
691
691
|
TOKEN_RESOURCE?: string;
|
|
692
|
+
/**
|
|
693
|
+
* A custom AWS credential provider to use. An example using the AWS SDK default provider chain:
|
|
694
|
+
*
|
|
695
|
+
* ```ts
|
|
696
|
+
* const client = new MongoClient(process.env.MONGODB_URI, {
|
|
697
|
+
* authMechanismProperties: {
|
|
698
|
+
* AWS_CREDENTIAL_PROVIDER: fromNodeProviderChain()
|
|
699
|
+
* }
|
|
700
|
+
* });
|
|
701
|
+
* ```
|
|
702
|
+
*
|
|
703
|
+
* Using a custom function that returns AWS credentials:
|
|
704
|
+
*
|
|
705
|
+
* ```ts
|
|
706
|
+
* const client = new MongoClient(process.env.MONGODB_URI, {
|
|
707
|
+
* authMechanismProperties: {
|
|
708
|
+
* AWS_CREDENTIAL_PROVIDER: async () => {
|
|
709
|
+
* return {
|
|
710
|
+
* accessKeyId: process.env.ACCESS_KEY_ID,
|
|
711
|
+
* secretAccessKey: process.env.SECRET_ACCESS_KEY
|
|
712
|
+
* }
|
|
713
|
+
* }
|
|
714
|
+
* }
|
|
715
|
+
* });
|
|
716
|
+
* ```
|
|
717
|
+
*/
|
|
718
|
+
AWS_CREDENTIAL_PROVIDER?: AWSCredentialProvider;
|
|
692
719
|
}
|
|
693
720
|
|
|
694
721
|
/* Excluded from this release type: AuthProvider */
|
|
@@ -735,6 +762,8 @@ export declare interface AutoEncryptionOptions {
|
|
|
735
762
|
keyVaultNamespace?: string;
|
|
736
763
|
/** Configuration options that are used by specific KMS providers during key generation, encryption, and decryption. */
|
|
737
764
|
kmsProviders?: KMSProviders;
|
|
765
|
+
/** Configuration options for custom credential providers. */
|
|
766
|
+
credentialProviders?: CredentialProviders;
|
|
738
767
|
/**
|
|
739
768
|
* A map of namespaces to a local JSON schema for encryption
|
|
740
769
|
*
|
|
@@ -806,6 +835,21 @@ export declare interface AutoEncryptionOptions {
|
|
|
806
835
|
tlsOptions?: CSFLEKMSTlsOptions;
|
|
807
836
|
}
|
|
808
837
|
|
|
838
|
+
/** @public **/
|
|
839
|
+
export declare type AWSCredentialProvider = () => Promise<AWSCredentials>;
|
|
840
|
+
|
|
841
|
+
/**
|
|
842
|
+
* @public
|
|
843
|
+
* 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),
|
|
844
|
+
* the return type of the aws-sdk's `fromNodeProviderChain().provider()`.
|
|
845
|
+
*/
|
|
846
|
+
export declare interface AWSCredentials {
|
|
847
|
+
accessKeyId: string;
|
|
848
|
+
secretAccessKey: string;
|
|
849
|
+
sessionToken?: string;
|
|
850
|
+
expiration?: Date;
|
|
851
|
+
}
|
|
852
|
+
|
|
809
853
|
/**
|
|
810
854
|
* @public
|
|
811
855
|
* Configuration options for making an AWS encryption key
|
|
@@ -1760,6 +1804,7 @@ export declare class ClientEncryption {
|
|
|
1760
1804
|
/* Excluded from this release type: _kmsProviders */
|
|
1761
1805
|
/* Excluded from this release type: _timeoutMS */
|
|
1762
1806
|
/* Excluded from this release type: _mongoCrypt */
|
|
1807
|
+
/* Excluded from this release type: _credentialProviders */
|
|
1763
1808
|
/* Excluded from this release type: getMongoCrypt */
|
|
1764
1809
|
/**
|
|
1765
1810
|
* Create a new encryption instance
|
|
@@ -2121,6 +2166,10 @@ export declare interface ClientEncryptionOptions {
|
|
|
2121
2166
|
* Options for specific KMS providers to use
|
|
2122
2167
|
*/
|
|
2123
2168
|
kmsProviders?: KMSProviders;
|
|
2169
|
+
/**
|
|
2170
|
+
* Options for user provided custom credential providers.
|
|
2171
|
+
*/
|
|
2172
|
+
credentialProviders?: CredentialProviders;
|
|
2124
2173
|
/**
|
|
2125
2174
|
* Options for specifying a Socks5 proxy to use for connecting to the KMS.
|
|
2126
2175
|
*/
|
|
@@ -3752,6 +3801,14 @@ export declare interface CreateIndexesOptions extends Omit<CommandOperationOptio
|
|
|
3752
3801
|
hidden?: boolean;
|
|
3753
3802
|
}
|
|
3754
3803
|
|
|
3804
|
+
/**
|
|
3805
|
+
* @public
|
|
3806
|
+
* Configuration options for custom credential providers for KMS requests.
|
|
3807
|
+
*/
|
|
3808
|
+
export declare interface CredentialProviders {
|
|
3809
|
+
aws?: AWSCredentialProvider;
|
|
3810
|
+
}
|
|
3811
|
+
|
|
3755
3812
|
/** @public */
|
|
3756
3813
|
export declare type CSFLEKMSTlsOptions = {
|
|
3757
3814
|
aws?: ClientEncryptionTlsOptions;
|
|
@@ -102,6 +102,10 @@ class AutoEncrypter {
|
|
|
102
102
|
this._proxyOptions = options.proxyOptions || {};
|
|
103
103
|
this._tlsOptions = options.tlsOptions || {};
|
|
104
104
|
this._kmsProviders = options.kmsProviders || {};
|
|
105
|
+
this._credentialProviders = options.credentialProviders;
|
|
106
|
+
if (options.credentialProviders?.aws && !(0, providers_1.isEmptyCredentials)('aws', this._kmsProviders)) {
|
|
107
|
+
throw new errors_1.MongoCryptInvalidArgumentError('Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching');
|
|
108
|
+
}
|
|
105
109
|
const mongoCryptOptions = {
|
|
106
110
|
enableMultipleCollinfo: true,
|
|
107
111
|
cryptoCallbacks
|
|
@@ -252,7 +256,7 @@ class AutoEncrypter {
|
|
|
252
256
|
* the original ones.
|
|
253
257
|
*/
|
|
254
258
|
async askForKMSCredentials() {
|
|
255
|
-
return await (0, providers_1.refreshKMSCredentials)(this._kmsProviders);
|
|
259
|
+
return await (0, providers_1.refreshKMSCredentials)(this._kmsProviders, this._credentialProviders);
|
|
256
260
|
}
|
|
257
261
|
/**
|
|
258
262
|
* Return the current libmongocrypt's CSFLE shared library version
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto_encrypter.js","sourceRoot":"","sources":["../../src/client-side-encryption/auto_encrypter.ts"],"names":[],"mappings":";;;;AAKA,2BAA2B;AAE3B,kCAAgE;AAEhE,4CAA+C;AAC/C,kCAAqD;AACrD,oCAA6C;AAC7C,kDAAuE;AAEvE,oCAAsD;AACtD,2DAA8D;AAC9D,sDAAsD;AACtD,qCAA0D;AAC1D,+DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"auto_encrypter.js","sourceRoot":"","sources":["../../src/client-side-encryption/auto_encrypter.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,10 @@ class ClientEncryption {
|
|
|
58
58
|
this._kmsProviders = options.kmsProviders || {};
|
|
59
59
|
const { timeoutMS } = (0, utils_1.resolveTimeoutOptions)(client, options);
|
|
60
60
|
this._timeoutMS = timeoutMS;
|
|
61
|
+
this._credentialProviders = options.credentialProviders;
|
|
62
|
+
if (options.credentialProviders?.aws && !(0, index_1.isEmptyCredentials)('aws', this._kmsProviders)) {
|
|
63
|
+
throw new errors_1.MongoCryptInvalidArgumentError('Can only provide a custom AWS credential provider when the state machine is configured for automatic AWS credential fetching');
|
|
64
|
+
}
|
|
61
65
|
if (options.keyVaultNamespace == null) {
|
|
62
66
|
throw new errors_1.MongoCryptInvalidArgumentError('Missing required option `keyVaultNamespace`');
|
|
63
67
|
}
|
|
@@ -525,7 +529,7 @@ class ClientEncryption {
|
|
|
525
529
|
* the original ones.
|
|
526
530
|
*/
|
|
527
531
|
async askForKMSCredentials() {
|
|
528
|
-
return await (0, index_1.refreshKMSCredentials)(this._kmsProviders);
|
|
532
|
+
return await (0, index_1.refreshKMSCredentials)(this._kmsProviders, this._credentialProviders);
|
|
529
533
|
}
|
|
530
534
|
static get libmongocryptVersion() {
|
|
531
535
|
return ClientEncryption.getMongoCrypt().libmongocryptVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_encryption.js","sourceRoot":"","sources":["../../src/client-side-encryption/client_encryption.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client_encryption.js","sourceRoot":"","sources":["../../src/client-side-encryption/client_encryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ const aws_temporary_credentials_1 = require("../../cmap/auth/aws_temporary_crede
|
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
|
-
async function loadAWSCredentials(kmsProviders) {
|
|
9
|
-
const credentialProvider = new aws_temporary_credentials_1.AWSSDKCredentialProvider();
|
|
8
|
+
async function loadAWSCredentials(kmsProviders, provider) {
|
|
9
|
+
const credentialProvider = new aws_temporary_credentials_1.AWSSDKCredentialProvider(provider);
|
|
10
10
|
// We shouldn't ever receive a response from the AWS SDK that doesn't have a `SecretAccessKey`
|
|
11
11
|
// or `AccessKeyId`. However, TS says these fields are optional. We provide empty strings
|
|
12
12
|
// and let libmongocrypt error if we're unable to fetch the required keys.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/aws.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/aws.ts"],"names":[],"mappings":";;AASA,gDAuBC;AAhCD,yFAGmD;AAGnD;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,YAA0B,EAC1B,QAAgC;IAEhC,MAAM,kBAAkB,GAAG,IAAI,oDAAwB,CAAC,QAAQ,CAAC,CAAC;IAElE,8FAA8F;IAC9F,2FAA2F;IAC3F,0EAA0E;IAC1E,MAAM,EACJ,eAAe,GAAG,EAAE,EACpB,WAAW,GAAG,EAAE,EAChB,KAAK,EACN,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAqC;QAC5C,eAAe,EAAE,eAAe;QAChC,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,4FAA4F;IAC5F,0DAA0D;IAC1D,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;IAE5C,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -27,10 +27,10 @@ function isEmptyCredentials(providerName, kmsProviders) {
|
|
|
27
27
|
*
|
|
28
28
|
* @internal
|
|
29
29
|
*/
|
|
30
|
-
async function refreshKMSCredentials(kmsProviders) {
|
|
30
|
+
async function refreshKMSCredentials(kmsProviders, credentialProviders) {
|
|
31
31
|
let finalKMSProviders = kmsProviders;
|
|
32
32
|
if (isEmptyCredentials('aws', kmsProviders)) {
|
|
33
|
-
finalKMSProviders = await (0, aws_1.loadAWSCredentials)(finalKMSProviders);
|
|
33
|
+
finalKMSProviders = await (0, aws_1.loadAWSCredentials)(finalKMSProviders, credentialProviders?.aws);
|
|
34
34
|
}
|
|
35
35
|
if (isEmptyCredentials('gcp', kmsProviders)) {
|
|
36
36
|
finalKMSProviders = await (0, gcp_1.loadGCPCredentials)(finalKMSProviders);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/index.ts"],"names":[],"mappings":";;AA0KA,gDASC;AASD,sDAkBC;AA5MD,+BAA2C;AAC3C,mCAA+C;AAC/C,+BAA2C;AA8J3C;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,YAA6C,EAC7C,YAA0B;IAE1B,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,qBAAqB,CACzC,YAA0B,EAC1B,mBAAyC;IAEzC,IAAI,iBAAiB,GAAG,YAAY,CAAC;IAErC,IAAI,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5C,iBAAiB,GAAG,MAAM,IAAA,wBAAkB,EAAC,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5C,iBAAiB,GAAG,MAAM,IAAA,wBAAkB,EAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAC9C,iBAAiB,GAAG,MAAM,IAAA,4BAAoB,EAAC,iBAAiB,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -24,6 +24,16 @@ class AWSTemporaryCredentialProvider {
|
|
|
24
24
|
exports.AWSTemporaryCredentialProvider = AWSTemporaryCredentialProvider;
|
|
25
25
|
/** @internal */
|
|
26
26
|
class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
|
|
27
|
+
/**
|
|
28
|
+
* Create the SDK credentials provider.
|
|
29
|
+
* @param credentialsProvider - The credentials provider.
|
|
30
|
+
*/
|
|
31
|
+
constructor(credentialsProvider) {
|
|
32
|
+
super();
|
|
33
|
+
if (credentialsProvider) {
|
|
34
|
+
this._provider = credentialsProvider;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
27
37
|
/**
|
|
28
38
|
* The AWS SDK caches credentials automatically and handles refresh when the credentials have expired.
|
|
29
39
|
* To ensure this occurs, we need to cache the `provider` returned by the AWS sdk and re-use it when fetching credentials.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws_temporary_credentials.js","sourceRoot":"","sources":["../../../src/cmap/auth/aws_temporary_credentials.ts"],"names":[],"mappings":";;;AAAA,qCAA2E;AAC3E,uCAA4C;AAC5C,uCAAsC;AAEtC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAChD,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAC7C,MAAM,YAAY,GAAG,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"aws_temporary_credentials.js","sourceRoot":"","sources":["../../../src/cmap/auth/aws_temporary_credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo_credentials.js","sourceRoot":"","sources":["../../../src/cmap/auth/mongo_credentials.ts"],"names":[],"mappings":";;;AAGA,uCAIqB;
|
|
1
|
+
{"version":3,"file":"mongo_credentials.js","sourceRoot":"","sources":["../../../src/cmap/auth/mongo_credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,10 +18,11 @@ const bsonOptions = {
|
|
|
18
18
|
bsonRegExp: false
|
|
19
19
|
};
|
|
20
20
|
class MongoDBAWS extends auth_provider_1.AuthProvider {
|
|
21
|
-
constructor() {
|
|
21
|
+
constructor(credentialProvider) {
|
|
22
22
|
super();
|
|
23
|
+
this.credentialProvider = credentialProvider;
|
|
23
24
|
this.credentialFetcher = aws_temporary_credentials_1.AWSTemporaryCredentialProvider.isAWSSDKInstalled
|
|
24
|
-
? new aws_temporary_credentials_1.AWSSDKCredentialProvider()
|
|
25
|
+
? new aws_temporary_credentials_1.AWSSDKCredentialProvider(credentialProvider)
|
|
25
26
|
: new aws_temporary_credentials_1.LegacyAWSTemporaryCredentialProvider();
|
|
26
27
|
}
|
|
27
28
|
async auth(authContext) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb_aws.js","sourceRoot":"","sources":["../../../src/cmap/auth/mongodb_aws.ts"],"names":[],"mappings":";;;AACA,mCAAmC;AACnC,qCAAkC;AAClC,uCAIqB;AACrB,uCAAyE;AACzE,mDAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"mongodb_aws.js","sourceRoot":"","sources":["../../../src/cmap/auth/mongodb_aws.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -140,7 +140,6 @@ Object.defineProperty(exports, "ReadPreferenceMode", { enumerable: true, get: fu
|
|
|
140
140
|
var common_3 = require("./sdam/common");
|
|
141
141
|
Object.defineProperty(exports, "ServerType", { enumerable: true, get: function () { return common_3.ServerType; } });
|
|
142
142
|
Object.defineProperty(exports, "TopologyType", { enumerable: true, get: function () { return common_3.TopologyType; } });
|
|
143
|
-
// Helper classes
|
|
144
143
|
var read_concern_2 = require("./read_concern");
|
|
145
144
|
Object.defineProperty(exports, "ReadConcern", { enumerable: true, get: function () { return read_concern_2.ReadConcern; } });
|
|
146
145
|
var read_preference_2 = require("./read_preference");
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,mCAAgC;AA4F9B,sFA5FO,aAAK,OA4FP;AA3FP,4CAAsD;AA0GpD,qGA1GO,8BAAoB,OA0GP;AAzGtB,gDAA0D;AA2GxD,uGA3GO,kCAAsB,OA2GP;AA1GxB,mDAA+C;AA4F7C,6FA5FO,4BAAY,OA4FP;AA3Fd,6CAA0C;AA6FxC,2FA7FO,uBAAU,OA6FP;AA5FZ,8DAA0D;AAqFxD,+FArFO,gCAAc,OAqFP;AApFhB,oEAAgE;AAuF9D,kGAvFO,sCAAiB,OAuFP;AAtFnB,sDAAkD;AA6FhD,2FA7FO,wBAAU,OA6FP;AA5FZ,8EAAyE;AAgGvE,sGAhGO,+CAAqB,OAgGP;AA/FvB,sEAAiE;AAgG/D,kGAhGO,uCAAiB,OAgGP;AA9FnB,6BAA0B;AAuFxB,mFAvFO,OAAE,OAuFP;AAtFJ,uCAA8C;AAuF5C,kGAvFO,2BAAiB,OAuFP;AAtFnB,qCAAwC;AAwFtC,6FAxFO,qBAAY,OAwFP;AAvFd,gDAA2D;AAwFzD,uGAxFO,iCAAsB,OAwFP;AAvFxB,4CAA0D;AAwFxD,wGAxFO,gCAAuB,OAwFP;AAvFzB,iDAA6C;AA0F3C,4FA1FO,0BAAW,OA0FP;AAzFb,+CAAkD;AA6EhD,kGA7EO,+BAAiB,OA6EP;AA5EnB,yCAA2C;AA8EzC,8FA9EO,wBAAa,OA8EP;AA5Ef,cAAc;AACd,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,+BAgBgB;AAfd,8FAAA,MAAM,OAAA;AACN,kGAAA,UAAU,OAAA;AACV,kGAAA,UAAU,OAAA;AACV,gGAAA,QAAQ,OAAA;AACR,4FAAA,IAAI,OAAA;AACJ,6FAAA,KAAK,OAAA;AACL,kGAAA,UAAU,OAAA;AACV,8FAAA,MAAM,OAAA;AACN,6FAAA,KAAK,OAAA;AACL,4FAAA,IAAI,OAAA;AACJ,8FAAA,MAAM,OAAA;AACN,8FAAA,MAAM,OAAA;AACN,gGAAA,QAAQ,OAAA;AACR,iGAAA,SAAS,OAAA;AACT,4FAAA,IAAI,OAAA;AAEN,wCAIuB;AADrB,6GAAA,mBAAmB,OAAA;AAErB,gFAA8E;AAArE,qHAAA,gBAAgB,OAAA;AACzB,sEAAmE;AAA1D,0HAAA,kBAAkB,OAAA;AAC3B,iCAyCiB;AAxCf,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,wGAAA,eAAe,OAAA;AACf,mHAAA,0BAA0B,OAAA;AAC1B,+GAAA,sBAAsB,OAAA;AACtB,wHAAA,+BAA+B,OAAA;AAC/B,kHAAA,yBAAyB,OAAA;AACzB,2HAAA,kCAAkC,OAAA;AAClC,gHAAA,uBAAuB,OAAA;AACvB,kHAAA,yBAAyB,OAAA;AACzB,8GAAA,qBAAqB,OAAA;AACrB,gHAAA,uBAAuB,OAAA;AACvB,yGAAA,gBAAgB,OAAA;AAChB,mGAAA,UAAU,OAAA;AACV,iHAAA,wBAAwB,OAAA;AACxB,sGAAA,aAAa,OAAA;AACb,8GAAA,qBAAqB,OAAA;AACrB,+GAAA,sBAAsB,OAAA;AACtB,kHAAA,yBAAyB,OAAA;AACzB,2GAAA,kBAAkB,OAAA;AAClB,qHAAA,4BAA4B,OAAA;AAC5B,oHAAA,2BAA2B,OAAA;AAC3B,0GAAA,iBAAiB,OAAA;AACjB,iHAAA,wBAAwB,OAAA;AACxB,+GAAA,sBAAsB,OAAA;AACtB,uGAAA,cAAc,OAAA;AACd,mHAAA,0BAA0B,OAAA;AAC1B,wGAAA,eAAe,OAAA;AACf,0GAAA,iBAAiB,OAAA;AACjB,+GAAA,sBAAsB,OAAA;AACtB,yGAAA,gBAAgB,OAAA;AAChB,kHAAA,yBAAyB,OAAA;AACzB,+GAAA,sBAAsB,OAAA;AACtB,yGAAA,gBAAgB,OAAA;AAChB,iHAAA,wBAAwB,OAAA;AACxB,iHAAA,wBAAwB,OAAA;AACxB,8GAAA,qBAAqB,OAAA;AACrB,2HAAA,kCAAkC,OAAA;AAClC,+GAAA,sBAAsB,OAAA;AAGxB,6DAA4E;AAAnE,0IAAA,mCAAmC,OAAA;AAwB5C,QAAQ;AACR,wCAA0C;AAAjC,mGAAA,SAAS,OAAA;AAClB,0EAAoF;AAA3E,2HAAA,yBAAyB,OAAA;AAClC,6CAAiE;AAAxD,qHAAA,2BAA2B,OAAA;AACpC,mDAAsD;AAA7C,0GAAA,aAAa,OAAA;AACtB,gEAA8D;AAArD,yGAAA,UAAU,OAAA;AACnB,4DAA2E;AAAlE,+GAAA,YAAY,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AACxC,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AACxB,qCAA6C;AAApC,2GAAA,gBAAgB,OAAA;AACzB,+CAAkD;AAAzC,gHAAA,gBAAgB,OAAA;AACzB,+CAAuE;AAA9D,sHAAA,sBAAsB,OAAA;AAAE,6GAAA,aAAa,OAAA;AAC9C,gEAA8D;AAArD,iHAAA,cAAc,OAAA;AACvB,wEAAkE;AAAzD,qHAAA,cAAc,OAAA;AACvB,+CAAkD;AAAzC,gHAAA,gBAAgB,OAAA;AACzB,qDAAuD;AAA9C,qHAAA,kBAAkB,OAAA;AAC3B,wCAAyD;AAAhD,oGAAA,UAAU,OAAA;AAAE,sGAAA,YAAY,OAAA;AAKjC,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,SAAS;AACT,8EAI0C;AAHxC,+HAAA,kBAAkB,OAAA;AAClB,gIAAA,mBAAmB,OAAA;AACnB,kIAAA,qBAAqB,OAAA;AAEvB,wEAauC;AAZrC,kIAAA,wBAAwB,OAAA;AACxB,mIAAA,yBAAyB,OAAA;AACzB,uIAAA,6BAA6B,OAAA;AAC7B,wIAAA,8BAA8B,OAAA;AAC9B,+HAAA,qBAAqB,OAAA;AACrB,gIAAA,sBAAsB,OAAA;AACtB,oIAAA,0BAA0B,OAAA;AAC1B,mIAAA,yBAAyB,OAAA;AACzB,oIAAA,0BAA0B,OAAA;AAC1B,uIAAA,6BAA6B,OAAA;AAC7B,kIAAA,wBAAwB,OAAA;AACxB,8HAAA,oBAAoB,OAAA;AAEtB,wCAUuB;AATrB,2GAAA,iBAAiB,OAAA;AACjB,uHAAA,6BAA6B,OAAA;AAC7B,oHAAA,0BAA0B,OAAA;AAC1B,qHAAA,2BAA2B,OAAA;AAC3B,uHAAA,6BAA6B,OAAA;AAC7B,4GAAA,kBAAkB,OAAA;AAClB,6GAAA,mBAAmB,OAAA;AACnB,yHAAA,+BAA+B,OAAA;AAC/B,8GAAA,oBAAoB,OAAA;AAEtB,0EAMwC;AALtC,+HAAA,oBAAoB,OAAA;AACpB,qIAAA,0BAA0B,OAAA;AAC1B,sIAAA,2BAA2B,OAAA;AAC3B,wIAAA,6BAA6B,OAAA;AAC7B,wIAAA,6BAA6B,OAAA;AAE/B,kDAAqD;AAA5C,8GAAA,eAAe,OAAA;AAwExB,0DAOyC;AANvC,wHAAA,8BAA8B,OAAA;AAC9B,sHAAA,4BAA4B,OAAA;AAC5B,kIAAA,wCAAwC,OAAA;AACxC,yGAAA,eAAe,OAAA;AACf,wHAAA,8BAA8B,OAAA;AAC9B,iIAAA,uCAAuC,OAAA;AAmKzC,6EAAyE;AAAhE,uIAAA,wBAAwB,OAAA"}
|
|
@@ -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":";;;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,CAG5B;IACA;QACE,yBAAa,CAAC,WAAW;QACzB,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC,IAAI,wBAAU,CAAC,uBAAuB,CAAC;KACzE;IACD;QACE,yBAAa,CAAC,UAAU;QACxB,GAAG,EAAE;YACH,MAAM,IAAI,iCAAyB,CACjC,oEAAoE,CACrE,CAAC;QACJ,CAAC;KACF;IACD,CAAC,yBAAa,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,eAAM,EAAE,CAAC;IAClD,CAAC,yBAAa,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,0BAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IACpF,CAAC,yBAAa,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,aAAK,EAAE,CAAC;IAChD,CAAC,yBAAa,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAS,EAAE,CAAC;IACzD,CAAC,yBAAa,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAW,EAAE,CAAC;IAC7D,CAAC,yBAAa,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,WAAI,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAa,wBAAwB;IAArC;QACU,sBAAiB,GAA8C,IAAI,GAAG,EAAE,CAAC;IA6BnF,CAAC;IA3BC;;;;;;;;OAQG;IACH,mBAAmB,CACjB,IAA4B,EAC5B,uBAAgD;QAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,iCAAyB,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA9BD,4DA8BC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,uBAAgD;IACnE,IAAI,uBAAuB,CAAC,mBAAmB,EAAE,CAAC;QAChD,OAAO,IAAI,+CAAqB,CAAC,IAAI,wBAAU,EAAE,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;IAClG,CAAC;SAAM,IAAI,uBAAuB,CAAC,aAAa,EAAE,CAAC;QACjD,OAAO,IAAI,uDAAyB,CAAC,IAAI,wBAAU,EAAE,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAC;QACxD,MAAM,QAAQ,GAAG,6BAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,iCAAyB,CACjC,2CAA2C,uBAAuB,CAAC,WAAW,EAAE,CACjF,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|
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
|
|
package/src/deps.ts
CHANGED
|
@@ -78,14 +78,14 @@ export function getZstdLibrary(): ZStandardLib | { kModuleError: MongoMissingDep
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
/**
|
|
81
|
-
* @
|
|
81
|
+
* @public
|
|
82
82
|
* 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),
|
|
83
83
|
* the return type of the aws-sdk's `fromNodeProviderChain().provider()`.
|
|
84
84
|
*/
|
|
85
85
|
export interface AWSCredentials {
|
|
86
86
|
accessKeyId: string;
|
|
87
87
|
secretAccessKey: string;
|
|
88
|
-
sessionToken
|
|
88
|
+
sessionToken?: string;
|
|
89
89
|
expiration?: Date;
|
|
90
90
|
}
|
|
91
91
|
|
package/src/index.ts
CHANGED
|
@@ -128,10 +128,11 @@ export { ReadPreferenceMode } from './read_preference';
|
|
|
128
128
|
export { ServerType, TopologyType } from './sdam/common';
|
|
129
129
|
|
|
130
130
|
// Helper classes
|
|
131
|
+
export type { AWSCredentialProvider } from './cmap/auth/aws_temporary_credentials';
|
|
132
|
+
export type { AWSCredentials } from './deps';
|
|
131
133
|
export { ReadConcern } from './read_concern';
|
|
132
134
|
export { ReadPreference } from './read_preference';
|
|
133
135
|
export { WriteConcern } from './write_concern';
|
|
134
|
-
|
|
135
136
|
// events
|
|
136
137
|
export {
|
|
137
138
|
CommandFailedEvent,
|
|
@@ -255,6 +256,7 @@ export type {
|
|
|
255
256
|
AWSKMSProviderConfiguration,
|
|
256
257
|
AzureKMSProviderConfiguration,
|
|
257
258
|
ClientEncryptionDataKeyProvider,
|
|
259
|
+
CredentialProviders,
|
|
258
260
|
GCPKMSProviderConfiguration,
|
|
259
261
|
KMIPKMSProviderConfiguration,
|
|
260
262
|
KMSProviders,
|
|
@@ -13,8 +13,14 @@ import { X509 } from './cmap/auth/x509';
|
|
|
13
13
|
import { MongoInvalidArgumentError } from './error';
|
|
14
14
|
|
|
15
15
|
/** @internal */
|
|
16
|
-
const AUTH_PROVIDERS = new Map<
|
|
17
|
-
|
|
16
|
+
const AUTH_PROVIDERS = new Map<
|
|
17
|
+
AuthMechanism | string,
|
|
18
|
+
(authMechanismProperties: AuthMechanismProperties) => AuthProvider
|
|
19
|
+
>([
|
|
20
|
+
[
|
|
21
|
+
AuthMechanism.MONGODB_AWS,
|
|
22
|
+
({ AWS_CREDENTIAL_PROVIDER }) => new MongoDBAWS(AWS_CREDENTIAL_PROVIDER)
|
|
23
|
+
],
|
|
18
24
|
[
|
|
19
25
|
AuthMechanism.MONGODB_CR,
|
|
20
26
|
() => {
|
|
@@ -24,7 +30,7 @@ const AUTH_PROVIDERS = new Map<AuthMechanism | string, (workflow?: Workflow) =>
|
|
|
24
30
|
}
|
|
25
31
|
],
|
|
26
32
|
[AuthMechanism.MONGODB_GSSAPI, () => new GSSAPI()],
|
|
27
|
-
[AuthMechanism.MONGODB_OIDC,
|
|
33
|
+
[AuthMechanism.MONGODB_OIDC, properties => new MongoDBOIDC(getWorkflow(properties))],
|
|
28
34
|
[AuthMechanism.MONGODB_PLAIN, () => new Plain()],
|
|
29
35
|
[AuthMechanism.MONGODB_SCRAM_SHA1, () => new ScramSHA1()],
|
|
30
36
|
[AuthMechanism.MONGODB_SCRAM_SHA256, () => new ScramSHA256()],
|
|
@@ -62,37 +68,28 @@ export class MongoClientAuthProviders {
|
|
|
62
68
|
throw new MongoInvalidArgumentError(`authMechanism ${name} not supported`);
|
|
63
69
|
}
|
|
64
70
|
|
|
65
|
-
|
|
66
|
-
if (name === AuthMechanism.MONGODB_OIDC) {
|
|
67
|
-
provider = providerFunction(this.getWorkflow(authMechanismProperties));
|
|
68
|
-
} else {
|
|
69
|
-
provider = providerFunction();
|
|
70
|
-
}
|
|
71
|
-
|
|
71
|
+
const provider = providerFunction(authMechanismProperties);
|
|
72
72
|
this.existingProviders.set(name, provider);
|
|
73
73
|
return provider;
|
|
74
74
|
}
|
|
75
|
+
}
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Gets either a device workflow or callback workflow.
|
|
79
|
+
*/
|
|
80
|
+
function getWorkflow(authMechanismProperties: AuthMechanismProperties): Workflow {
|
|
81
|
+
if (authMechanismProperties.OIDC_HUMAN_CALLBACK) {
|
|
82
|
+
return new HumanCallbackWorkflow(new TokenCache(), authMechanismProperties.OIDC_HUMAN_CALLBACK);
|
|
83
|
+
} else if (authMechanismProperties.OIDC_CALLBACK) {
|
|
84
|
+
return new AutomatedCallbackWorkflow(new TokenCache(), authMechanismProperties.OIDC_CALLBACK);
|
|
85
|
+
} else {
|
|
86
|
+
const environment = authMechanismProperties.ENVIRONMENT;
|
|
87
|
+
const workflow = OIDC_WORKFLOWS.get(environment)?.();
|
|
88
|
+
if (!workflow) {
|
|
89
|
+
throw new MongoInvalidArgumentError(
|
|
90
|
+
`Could not load workflow for environment ${authMechanismProperties.ENVIRONMENT}`
|
|
84
91
|
);
|
|
85
|
-
} else if (authMechanismProperties.OIDC_CALLBACK) {
|
|
86
|
-
return new AutomatedCallbackWorkflow(new TokenCache(), authMechanismProperties.OIDC_CALLBACK);
|
|
87
|
-
} else {
|
|
88
|
-
const environment = authMechanismProperties.ENVIRONMENT;
|
|
89
|
-
const workflow = OIDC_WORKFLOWS.get(environment)?.();
|
|
90
|
-
if (!workflow) {
|
|
91
|
-
throw new MongoInvalidArgumentError(
|
|
92
|
-
`Could not load workflow for environment ${authMechanismProperties.ENVIRONMENT}`
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
return workflow;
|
|
96
92
|
}
|
|
93
|
+
return workflow;
|
|
97
94
|
}
|
|
98
95
|
}
|