Skip to content

Commit ce2286c

Browse files
authored
Read identity type from service.api.signatureVersion (#4274)
1 parent f387f39 commit ce2286c

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "bugfix",
3+
"category": "Signer",
4+
"description": "Read identity type from service.api.signatureVersion"
5+
}

lib/event_listeners.js

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,23 @@ function getOperationAuthtype(req) {
7373
return operation ? operation.authtype : '';
7474
}
7575

76+
/**
77+
* @api private
78+
*/
79+
function getIdentityType(req) {
80+
var service = req.service;
81+
82+
if (service.config.signatureVersion) {
83+
return service.config.signatureVersion;
84+
}
85+
86+
if (service.api.signatureVersion) {
87+
return service.api.signatureVersion;
88+
}
89+
90+
return getOperationAuthtype(req);
91+
}
92+
7693
AWS.EventListeners = {
7794
Core: new SequentialExecutor().addNamedListeners(function(add, addAsync) {
7895
addAsync('VALIDATE_CREDENTIALS', 'validate',
@@ -250,12 +267,10 @@ AWS.EventListeners = {
250267

251268
addAsync('SIGN', 'sign', function SIGN(req, done) {
252269
var service = req.service;
253-
var operations = req.service.api.operations || {};
254-
var operation = operations[req.operation];
255-
var authtype = operation ? operation.authtype : '';
256-
if (!service.api.signatureVersion && !authtype && !service.config.signatureVersion) return done(); // none
270+
var identityType = getIdentityType(req);
271+
if (!identityType || identityType.length === 0) return done(); // none
257272

258-
if (authtype === 'bearer' || service.config.signatureVersion === 'bearer') {
273+
if (identityType === 'bearer') {
259274
service.config.getToken(function (err, token) {
260275
if (err) {
261276
req.response.error = err;
@@ -281,6 +296,8 @@ AWS.EventListeners = {
281296
try {
282297
var date = service.getSkewCorrectedDate();
283298
var SignerClass = service.getSignerClass(req);
299+
var operations = req.service.api.operations || {};
300+
var operation = operations[req.operation];
284301
var signer = new SignerClass(req.httpRequest,
285302
service.getSigningName(req),
286303
{

0 commit comments

Comments
 (0)