gpt4 book ai didi

javascript - 当错误消息显示用户名和密码不匹配时,您如何通过 Cognito 对用户池中的用户进行身份验证?

转载 作者:行者123 更新时间:2023-11-30 15:59:14 25 4
gpt4 key购买 nike

所以我在 Javascript 中使用 Cognito 和他们的 Beta 用户池功能。多亏了这里的文档,我成功地创建了用户:

http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html

当我尝试对用户进行身份验证时,我收到一条奇怪的错误消息:

NotAuthorizedException:用户名或密码不正确。

我不明白为什么会这样,因为我实际上是在复制和粘贴我用来创建用户的用户名和密码的值,但效果很好。

下面是我验证用户的代码:

//----- Setup
AWS.config.region = 'us-east-1'; // Region
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'myIdentityPoolId'
});

AWSCognito.config.region = 'us-east-1';

AWSCognito.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'myIdentityPoolId'
});

var poolData = { UserPoolId : 'myUserPoolId',
ClientId : 'myClientId'
};

//-----Authenticate a user
alert('Authenticate a user with application');
var authenticationData = {
Username : 'markie17061993',
Password : 'MeowWoof123456789!',
};
var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
var poolData = { UserPoolId : 'myUserPoolId',
ClientId : 'myClientId'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : 'markie17061993',
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
alert('hiss');
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
console.log('access token + ' + result.getAccessToken().getJwtToken());
},

onFailure: function(err) {
alert(err);
},

});

你看到这里有什么不对吗?我想也许我在这两个地方的 UserName 参数应该是不同的值或其他东西:

var authenticationData = {
Username : 'markie17061993',
Password : 'MeowWoof123456789!',
};

var userData = {
Username : 'markie17061993',
Pool : userPool
};

谢谢

最佳答案

如果您确认新注册的用户不是,则您的代码不会显示。如果不是,那将解释 NotAuthorizedExceptionThis example具体就是您要遵循的内容。

如果您不想确认正在从您的应用注册的用户,您应该使用 PreSignUp trigger autoConfirm 您的用户。

关于javascript - 当错误消息显示用户名和密码不匹配时,您如何通过 Cognito 对用户池中的用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38025000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com