diff --git a/lib/region_config.js b/lib/region_config.js index f401383d7f..55614581dc 100644 --- a/lib/region_config.js +++ b/lib/region_config.js @@ -63,7 +63,9 @@ function configureEndpoint(service) { } // signature version - if (!config.signatureVersion) config.signatureVersion = 'v4'; + if (!config.signatureVersion) { + config.signatureVersion = service.signatureVersion || 'v4'; + } // merge config applyConfig(service, config); diff --git a/lib/service.js b/lib/service.js index 8e1036f23e..e1ef401bc6 100644 --- a/lib/service.js +++ b/lib/service.js @@ -70,6 +70,10 @@ AWS.Service = inherit({ this.validateService(); if (!this.config.endpoint) regionConfig.configureEndpoint(this); + if (this.api.signatureVersion === 'bearer') { + // bearer from API declaration may not be overridden by config. + this.config.signatureVersion = 'bearer'; + } this.config.endpoint = this.endpointFromTemplate(this.config.endpoint); this.setEndpoint(this.config.endpoint);