Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

🔏 AWS sigv4, optimized for size

License

NotificationsYou must be signed in to change notification settings

tivac/aws-sig

Repository files navigation

Teeny-tiny library for signing requests to Amazon Web Services using thesignature v4 signing algorithm. Supports signing requests viaAuthorization header or query params.

No serious, it's really small!

Bundle SizeGzipped Bundle Size

🙋 Why?

I wanted something small. Really, really small. Couldn't find a small AWS v4 signing library that worked in a browser using rollup for bundling so... here we are. ¯\_(ツ)_/¯

⚙️ How?

import{signedHeaders,signedQuery}from"aws-sig";constconfig={accessKeyId     :"AKIDEXAMPLE",secretAccessKey :"wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",// sessionTokens are optional, but correctly supportedsessionToken    :"..."};constrequest={// These can be part of the config object or the request objectregion  :"us-east-1",service :"service",method :"GET",url    :"https://my.aws.url.that.i.need.to.hit/look/it-has/a-path-in-it-as-well",// Headers are optionalheaders :{// Single header value"X-Amz-Date" :"20150830T123600Z",// Multiple headers"X-Multiple" :["one","two","three"]}// Body is optional, should be a stringbody : "..."};constsigned=signedHeaders(request,config);/** * signed : { *     url : "https://my.aws.url.that.i.need.to.hit/look/it-has/a-path-in-it-as-well" *     method : "GET", *     headers : { *         X-Amz-Date : "20150830T123600Z", *         "X-Multiple" : [ "one", "two", "three" ], *         Authorization : "...", *     }, *     body : "...", * } */// Signing queries is identical, just uses signedQuery() insteadconstconfig={accessKeyId     :"AKIDEXAMPLE",secretAccessKey :"wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",// sessionTokens are optional, but correctly supportedsessionToken    :"...",// These can be part of the config object or the request objectregion  :"us-east-1",service :"service",};constrequest={url    :"https://my.aws.url.that.i.need.to.hit/look/it-has/a-path-in-it-as-well",};constsigned=signedQuery(request,config);/** * signed : { *     url : "https://my.aws.url.that.i.need.to.hit/look/it-has/a-path-in-it-as-well?X-Amz-Algorithm=...&X-Amz-Credential=..." *     method : "GET", *     headers : {}, *     body : undefined, * } */

🛁 What?

Supports query params, date overrides viaX-Amz-Date orDate headers, multiple header values, and probably some other features.

Tested against API Gateway so far. Your results may vary for other services, S3 seems especially fraught with peril. 💀


[8]ページ先頭

©2009-2025 Movatter.jp