SigV4Authenticator.prototype.evaluateChallenge = function()

in lib/sigv4-auth-provider.js [148:168]


SigV4Authenticator.prototype.evaluateChallenge = function (challenge, callback) {
  let nonce = SigV4AuthProvider.extractNonce(challenge);
  if (!nonce) {
    callback(new Error(`[SIGV4_MISSING_NONCE] Did not find nonce in SigV4 challenge:[${challenge}]`), null);
    return;
  }

  let dateToUse  = this.date || new Date();

  this.chain.resolvePromise().then((creds) => {
    let signedString =  sigv4.computeSigV4SignatureCassandraRequest({
      region: this.region,
      accessKeyId: creds.accessKeyId,
      secretAccessKey: creds.secretAccessKey,
      sessionToken: creds.sessionToken,
      date: dateToUse,
      nonce: nonce
    });
    callback(null, Buffer.from(signedString));
  });
};