Javascript 想知道如何在通过Cognito用户池验证用户时修复一个相当奇怪的错误吗?
我在尝试验证我的用户时遇到了一个奇怪的问题。下面是我的代码Javascript 想知道如何在通过Cognito用户池验证用户时修复一个相当奇怪的错误吗?,javascript,amazon-web-services,amazon-cognito,accounts,Javascript,Amazon Web Services,Amazon Cognito,Accounts,我在尝试验证我的用户时遇到了一个奇怪的问题。下面是我的代码 //-----Authenticate a user alert('Authenticate a user with application'); var authenticationData = { Username : 'someExistingUserName', Password : 'passwordForExistingUserName', }; var aut
//-----Authenticate a user
alert('Authenticate a user with application');
var authenticationData = {
Username : 'someExistingUserName',
Password : 'passwordForExistingUserName',
};
var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
var poolData = { UserPoolId : 'us-east-1_r121212',
ClientId : '3g7djfhsdfjkahfjdfhdb1'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : 'someExistingUserName',
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
alert('hisss2');
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
alert('meow');
console.log('access token + ' + result.getAccessToken().getJwtToken());
},
onFailure: function(err) {
alert(err);
},
});
从某种意义上说,这似乎是可行的
如果我输入一个不存在的用户名/密码组合,我会得到以下看似正确的错误:
ResourceNotFoundException:未找到用户名/客户端id组合
然而,如果我输入了正确的用户名和密码组合,似乎什么也不会发生。没有出现错误弹出窗口(这是在我使用错误的用户名/密码组合时发生的),并且打算在身份验证成功时运行的console.log没有出现,我在onSuccess处理程序中放置的任何警报弹出窗口也没有出现
它既不触发成功也不触发失败,这看起来很奇怪。真奇怪。思想?
我非常确定我的设置在使用正确的UserPoolId、ClientId等方面是正确的。这看起来很奇怪。请帮忙,我不能给你任何回报
我还有一个想法,这里的用户名参数是:
var authenticationData = {
Username : 'someExistingUserName',
Password : 'passwordForExistingUserName',
};
var userData = {
Username : 'someExistingUserName',
Pool : userPool
};
要与此处的用户名参数匹配:
var authenticationData = {
Username : 'someExistingUserName',
Password : 'passwordForExistingUserName',
};
var userData = {
Username : 'someExistingUserName',
Pool : userPool
};
??
我的目前是这样,但也许他们是两个不同的用户名,我只使用一个或什么?WTF 我找到了答案。斯坦福JavaScript加密库不包括SDK使用的字节编解码器。我以为我做了这件事,但显然没有。我下载了一个已经有字节编解码器的,它工作得很好。该死
删除“us-east-1_r121212”中的“u”,然后尝试它会起作用删除整个“us-east-1_r121212”或只是“u”?只是“u”,它会起作用,但没有解决问题:(顺便说一下,“us-east-1_r121212”不是我的实际UserPoolId,我只是不想在这里发布真实的UserPoolId-但我几乎可以肯定,我正在使用正确的UserPoolId注册用户,我已经成功地完成了注册。如果没有任何错误,那么很难找到错误:)