Я пытаюсь настроить просмотр страницы пользовательских атрибутов для администраторов сайта, чтобы они могли просматривать и устанавливать различные пользовательские переменные. Когда я делаю запрос в свой пул пользователей, а не возвращаю объект пользователя или объект ошибки HTTP, я получаю следующую ошибку:
TypeError: Cannot read property 'byteLength' of undefined
at Object.isEmptyData (browserHashUtils.js?a069:41)
at Hmac.update (browserHmac.js?f8e2:34)
at Object.hmac (util.js?05a3:423)
at Object.getSigningKey (v4_credentials.js?146b:62)
at V4.signature (v4.js?2886:98)
at V4.authorization (v4.js?2886:93)
at V4.addAuthorization (v4.js?2886:35)
at eval (event_listeners.js?b7ab:236)
at finish (config.js?6e76:379)
at eval (config.js?6e76:397) "TypeError: Cannot read property 'byteLength' of undefined
at Object.isEmptyData (webpack-internal:///./node_modules/aws-sdk/lib/browserHashUtils.js:41:17)
at Hmac.update (webpack-internal:///./node_modules/aws-sdk/lib/browserHmac.js:34:19)
at Object.hmac (webpack-internal:///./node_modules/aws-sdk/lib/util.js:423:50)
at Object.getSigningKey (webpack-internal:///./node_modules/aws-sdk/lib/signers/v4_credentials.js:62:8)
at V4.signature (webpack-internal:///./node_modules/aws-sdk/lib/signers/v4.js:98:36)
at V4.authorization (webpack-internal:///./node_modules/aws-sdk/lib/signers/v4.js:93:36)
at V4.addAuthorization (webpack-internal:///./node_modules/aws-sdk/lib/signers/v4.js:35:12)
at eval (webpack-internal:///./node_modules/aws-sdk/lib/event_listeners.js:236:18)
at finish (webpack-internal:///./node_modules/aws-sdk/lib/config.js:379:7)
at eval (webpack-internal:///./node_modules/aws-sdk/lib/config.js:397:9)"
Теперь, очевидно, он возвращает нулевой объект. Я хочу знать, почему он возвращает null вместо любой другой ошибки, такой как 'UserNotFound' или любой другой ошибки 400, найденной здесь , но вместо этого пустой объект. Кажется, что-то не так с тем, что я передаю, однако независимо от параметров, подключенных к AdminGetUser, так как это одно и то же, независимо от того, являются ли значения допустимыми, однако если их пропустить, выдается ошибка 400.
Мой текущий код выглядит следующим образом:
import AWS from 'aws-sdk'
AWS.config.region = 'us-west-2'; // Region
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-west-2:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
});
AWS.config.accessKeyId = "xxxxxxxxxxxxxxxxxx"
AWS.config.secretAccessKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
var params = {
Username: 'xxxxxxxxx',
UserPoolId: 'us-west-xxxxxxxx'
}
cognitoidentityserviceprovider.adminGetUser(params, function(err,data){
if(err) console.log( err, err.stack);
else {
console.log(data)
};
});
На данный момент у меня есть:
- Обновлен модуль
aws-sdk
- , обеспечивающий ключи доступа и секретный доступ ключи были действительны при генерации новых и копирование + вставка
- гарантировали, что идентификатор пула идентификаторов, идентификатор пула пользователей и регион были точными
- проверено, чтобы попытаться получить ОШИБКУ 400: Пользователь не найден путем замены действительное имя пользователя для недопустимого имени пользователя с тем же эффектом
- сделал то же самое, что и выше, с идентификатором пула пользователей in / valid с тем же эффектом
- протестировал команду в AWS CLI как
aws cognito-idp --user-pool-id id iiusername validusername
и получил правильный ответ
Кто-нибудь сталкивался с тем же, и как вы это исправили?