aws4-tiny
Minimal browser bundle with zero dependencies for signing requests using Amazon's AWS Signature Version 4.
This package is largely based off of the excellent work of @mhart's aws4. While using aws4
in the browser is possible, its footprint is rather large (325kb, or 100kb gzipped) due to the number of polyfills that need to be pulled in. aws4-tiny
provides a few hand-crafted polyfills that were optimized for use with aws4
.
aws4-tiny
supports all modern browsers and IE 9+ at just under 7kb (gzipped). The following browser versions are supported:
Browser | Version |
---|---|
IE | 9+ |
Edge | 15+ |
Firefox | 47+ |
Chrome | 49+ |
Installation
The package is available as UMD build which let's you include the bundle directly using a <script>
tag or you can use your preferred module loader.
npm install --save aws4
; aws4
Usage
aws4.sign(opts, credentials)
See aws4 API for details on the opts
object.
Example using fetch:
var credentials = accessKeyId: '' secretAccessKey: '' sessionToken: '' // only required for temporary credentials; var request = aws4; ;
aws4.fetch
aws4.fetch(url [, opts], credentials)
aws4.fetch(opts, credentials)
aws4.fetch
is a convenience wrapper around signing a request with aws4
and then sending it off using fetch
.
aws4; aws4;
aws4.fetch(Request, credentials)
Tests
aws4-tiny
passes the AWS Sig V4 Test Suite. You can run it youself at emdgroup.github.io/aws4-tiny/ (open the dev console to see the test results). We also run automated tests on Browser Stack.
FAQ
Can I use aws4-tiny
with NodeJS?
Yes, but it's not recommended. The aws4 package is actually much smaller and faster in a Node environment.
Thanks
Thanks to @mhart for aws4 which made this package possible.
Automated browser testing proudly supported by