aws-sign

Calculates Authorization header for Amazon AWS REST requests

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
aws-sign
1.0.12 years ago10 years agoMinified + gzip package size for aws-sign in KB

Readme

node-aws-sign
Simple module to calculate Authorization header for Amazon AWS REST requests.
Simple it is:
const AwsSign = require('aws-sign');
const signer = new AwsSign({
	accessKeyId: 'AKIAIOSFODNN7EXAMPLE',
	secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
});

const opts = {
	method: 'PUT',
	host: 'johnsmith.s3.amazonaws.com',
	path: '/photos/puppy.jpg',
	headers: { ... },
	... // Other request options, ignored by AwsSign.
};
signer.sign(opts);
https.request(opts, ...);

The following keys are mandatory:
  • method
  • host
  • path

Others are optional. A date header (headers.date) will be added for you if it is not already set.

Non-goals

There is no support for path-style bucket access.
x-amz-date substitution is not supported because Node's http module has no problems setting Date header.
Multiple x-amz- keys are not supported. I.e. the following part of the example won't work:
X-Amz-Meta-ReviewedBy: joe@johnsmith.net
X-Amz-Meta-ReviewedBy: jane@johnsmith.net
Use a single header instead:
X-Amz-Meta-ReviewedBy: joe@johnsmith.net,jane@johnsmith.net

Testing

mocha test/

Installation

npm install aws-sign

Author

Egor Egorov, me@egorfine.com.

License

MIT.