Skip to content

Commit

Permalink
fix(event_listeners): check identity type in VALIDATE_CREDENTIALS (#4287
Browse files Browse the repository at this point in the history
)
  • Loading branch information
kuhe committed Nov 28, 2022
1 parent 44bf65a commit b168eaa
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 9 deletions.
5 changes: 5 additions & 0 deletions .changes/next-release/bugfix-event-listeners-44cd040f.json
@@ -0,0 +1,5 @@
{
"type": "bugfix",
"category": "event_listeners",
"description": "differentiate identity type in VALIDATE_CREDENTIALS listener"
}
35 changes: 26 additions & 9 deletions lib/event_listeners.js
Expand Up @@ -92,16 +92,33 @@ function getIdentityType(req) {

AWS.EventListeners = {
Core: new SequentialExecutor().addNamedListeners(function(add, addAsync) {
addAsync('VALIDATE_CREDENTIALS', 'validate',
function VALIDATE_CREDENTIALS(req, done) {
if (!req.service.api.signatureVersion && !req.service.config.signatureVersion) return done(); // none
req.service.config.getCredentials(function(err) {
if (err) {
req.response.error = AWS.util.error(err,
{code: 'CredentialsError', message: 'Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1'});
addAsync(
'VALIDATE_CREDENTIALS', 'validate',
function VALIDATE_CREDENTIALS(req, done) {
if (!req.service.api.signatureVersion && !req.service.config.signatureVersion) return done(); // none

var identityType = getIdentityType(req);
if (identityType === 'bearer') {
req.service.config.getToken(function(err) {
if (err) {
req.response.error = AWS.util.error(err, {code: 'TokenError'});
}
done();
});
return;
}
done();
});

req.service.config.getCredentials(function(err) {
if (err) {
req.response.error = AWS.util.error(err,
{
code: 'CredentialsError',
message: 'Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1'
}
);
}
done();
});
});

add('VALIDATE_REGION', 'validate', function VALIDATE_REGION(req) {
Expand Down

0 comments on commit b168eaa

Please sign in to comment.