title: AWS kinesis put record throwing invalid security token
body: <p>I have a nodejs aws client that puts records to a kinesis stream. I am pretty sure the credentials i use are valid. However I get this error:</p>
  
  <pre><code>error:   Error is  UnrecognizedClientException: The security token included in the request is invalid
      at Request.extractError (/app/node_modules/aws-sdk/lib/protocol/json.js:43:27)
      at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
      at Request.emit (/app/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
      at Request.emit (/app/node_modules/aws-sdk/lib/request.js:671:14)
  </code></pre>
  
  <p>Using the aws-cli also returns a similar error:</p>
  
  <pre><code>An error occurred (InvalidSignatureException) when calling the PutRecord operation: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
  </code></pre>
  
  <p>aws configure list shows the correct credentials being used.</p>
  
  <p>Is there anything apart from provding the access key,secret access key and the region that i should provide ?</p>