MCPcopy
hub / github.com/mongodb/node-mongodb-native / makeTempCredentials

Function makeTempCredentials

src/cmap/auth/mongodb_aws.ts:147–170  ·  view source on GitHub ↗
(
  credentials: MongoCredentials,
  awsCredentialFetcher: AWSSDKCredentialProvider
)

Source from the content-addressed store, hash-verified

145}
146
147async function makeTempCredentials(
148 credentials: MongoCredentials,
149 awsCredentialFetcher: AWSSDKCredentialProvider
150): Promise<MongoCredentials> {
151 function makeMongoCredentialsFromAWSTemp(creds: AWSTempCredentials) {
152 // The AWS session token (creds.Token) may or may not be set.
153 if (!creds.AccessKeyId || !creds.SecretAccessKey) {
154 throw new MongoMissingCredentialsError('Could not obtain temporary MONGODB-AWS credentials');
155 }
156
157 return new MongoCredentials({
158 username: creds.AccessKeyId,
159 password: creds.SecretAccessKey,
160 source: credentials.source,
161 mechanism: AuthMechanism.MONGODB_AWS,
162 mechanismProperties: {
163 AWS_SESSION_TOKEN: creds.Token
164 }
165 });
166 }
167 const temporaryCredentials = await awsCredentialFetcher.getCredentials();
168
169 return makeMongoCredentialsFromAWSTemp(temporaryCredentials);
170}
171
172function deriveRegion(host: string) {
173 const parts = host.split('.');

Callers 1

authMethod · 0.85

Calls 2

getCredentialsMethod · 0.80

Tested by

no test coverage detected