@@ -9,10 +9,12 @@ https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
9
9
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html
10
10
*/
11
11
12
- const amzHeaders = [ 'Action' , 'Version' , ' X-Amz-Content-Sha256', 'X-Amz-Date' , 'X-Amz-Algorithm' , 'X-Amz-Credential' , 'X-Amz-Security-Token' ,
12
+ const amzHeaders = [ 'X-Amz-Content-Sha256' , 'X-Amz-Date' , 'X-Amz-Algorithm' , 'X-Amz-Credential' , 'X-Amz-Security-Token' ,
13
13
'X-Amz-Signature' , 'X-Amz-SignedHeaders' ] ;
14
14
const s3Headers = [ 'x-amz-security-token' ] ;
15
15
const v2Params = [ 'AWSAccessKeyId' , 'Action' , 'SignatureMethod' , 'SignatureVersion' , 'Timestamp' , 'Version' , 'Signature' ] ;
16
+ const v4Required = [ 'Action' , 'Version' ] ;
17
+ const v4Params = [ ] . concat ( v4Required , amzHeaders ) ;
16
18
17
19
var multiParams = [ ] ;
18
20
@@ -589,6 +591,15 @@ module.exports = {
589
591
590
592
// https://docs.aws.amazon.com/IAM/latest/APIReference/CommonParameters.html
591
593
594
+ for ( var p in v4Required ) {
595
+ var param = { } ;
596
+ param . name = v4Required [ p ] ;
597
+ param [ "in" ] = 'query' ;
598
+ param . type = 'string' ;
599
+ param . required = true ;
600
+ s . parameters [ v4Required [ p ] ] = param ;
601
+ }
602
+
592
603
for ( var h in amzHeaders ) {
593
604
var header = { } ;
594
605
header . name = amzHeaders [ h ] ;
@@ -597,8 +608,6 @@ module.exports = {
597
608
header . required = false ;
598
609
s . parameters [ amzHeaders [ h ] ] = header ;
599
610
}
600
- s . parameters . Action . required = true ;
601
- s . parameters . Version . required = true ;
602
611
603
612
}
604
613
else if ( src . metadata . signatureVersion == 's3' ) {
@@ -834,9 +843,9 @@ module.exports = {
834
843
s . paths [ url ] = path ; // path contains action
835
844
if ( sigV4Headers ) {
836
845
s . paths [ url ] . parameters = [ ] ;
837
- for ( var h in amzHeaders ) {
846
+ for ( var h in v4Params ) {
838
847
var param = { } ;
839
- param [ "$ref" ] = '#/parameters/' + amzHeaders [ h ] ;
848
+ param [ "$ref" ] = '#/parameters/' + v4Params [ h ] ;
840
849
s . paths [ url ] . parameters . push ( param ) ;
841
850
}
842
851
}
0 commit comments