我正在尝试为网站管理员设置页内用户属性查看器,以便他们可以查看和设置不同的用户变量。当我向用户池发出请求时,没有返回用户对象或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错误here,而是一个空对象。我传递的内容似乎有问题,但是与插入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
模块aws cognito-idp --user-pool-id id iiusername validusername
,并获得了正确的响应有人遇到过同样的事情,您是如何解决的?
我正在尝试为网站管理员设置页内用户属性查看器,以便他们可以查看和设置不同的用户变量。当我向用户池发出请求时,而不是返回用户对象...
原因是我仅更新AWS.config,这意味着未定义AWS.config.credentials.accessKeyId和AWS.config.credentials.secretAccessKey。当Admin API尝试读取这些内容时,它就抛出了“未定义”状态,因为根本没有任何数据。通过在上述字段中添加与它们的AWS.config副本完全相同的值,我得到了数据。