aws-sign-web

Plain JavaScript AWS Signature v4 for use within Web Browsers
Example
<script src="bower_components/cryptojslib/rollups/sha256.js"></script><script src="bower_components/cryptojslib/rollups/hmac-sha256.js"></script><script src="bower_components/aws-sign-web/aws-sign-web.min.js"></script> <script type="text/javascript">(function() { // Create a new signer var config = { // AWS Region (default: 'eu-west-1') region: 'eu-west-1', // AWS service that is called (default: 'execute-api' -- AWS API Gateway) service: 'execute-api', // AWS IAM credentials, here some temporary credentials with a session token accessKeyId: '...', secretAccessKey: '...', sessionToken: '...' }; var signer = new awsSignWeb.AwsSigner(config); // Sign a request var request = { method: 'GET', url: 'https://<YOUR_API>.execute-api.eu-west-1.amazonaws.com/dev/users', headers: {}, params: { 'username': 'nobody' }, data: null }; var signed = signer.sign(request); console.log(signed); /// /// { /// 'Accept': 'application/json', /// 'Authorization': 'AWS4-HMAC-SHA256 Credential=ASIAIQTP2FX4MJ4J2DIA/20160520/eu-west-1/execute-api/aws4_request, SignedHeaders=accept;host;x-amz-date, Signature=cc870c6ea5174baad470e46a7f5642725ff9411e049cf24d730923fca7e5f2b4' /// 'x-amz-date': '20160520T053201Z', /// 'x-amz-security-token': 'FQoDYXdzEOf//...' /// } ///})();</script>