Я не могу заставить работать AWS.config.getCredentials. Выполнено без ошибок , но
Это может быть ошибочным предположением.В вашем сокращенном коде отсутствует пара закрывающих скобок, но он работал нормально для меня без каких-либо значительных корректировок.
При вызове getCredentials
о любых ошибках "молча" сообщается через объект error
.Я думаю, что вы где-нибудь увидите ответ 400
(вкладка сети или консоль или оба), но getCredentials()
на самом деле не сообщает об ошибках видимым образом.
Чтобы увидеть, что происходит не так, вы должны добавить параметр к обратному вызову, который вы передаете getCredentials()
:
AWS.config.getCredentials((err) => {
if (err) {
console.log(err);
} else {
console.log(AWS.config.credentials.accessKeyId)
console.log(AWS.config.credentials.secretAccessKey)
console.log(AWS.config.credentials.sessionToken)
}
});
Для справки один часто встречающийся объект ошибки выглядит так:этот.Обратите внимание, что полезное сообщение находится в originalError.message
:
{
"message": "Could not load credentials from CognitoIdentityCredentials",
"code": "CredentialsError",
"time": "2018-06-03T15:19:02.078Z",
"requestId": "71b03b4a-6741-11e8-98af-b70a114474f8",
"statusCode": 400,
"retryable": false,
"retryDelay": 94.28032122526344,
"originalError": {
"message": "Invalid login token. Issuer doesn't match providerName",
"code": "NotAuthorizedException",
"time": "2018-06-03T15:19:02.078Z",
"requestId": "71b03b4a-6741-11e8-98af-b70a114474f8",
"statusCode": 400,
"retryable": false,
"retryDelay": 94.28032122526344
}
}
Соответствующий 400
на вкладке Сеть содержит этот ответ:
{"__type":"NotAuthorizedException","message":"Invalid login token. Issuer doesn't match providerName"}