AmazonWebService 身份验证/注册
AmazonWebService Authentication / Registering
我正在使用 Cognito AmazonWebService 和 AngularJS 进行我的应用程序用户管理。
我不知道如何解决这个问题:
注册后,用户会收到一封电子邮件,其中包含用于确认的代码。
当我尝试输入并验证代码时,我有一条弹出消息说 "Error: the user is not authenticated".
但是如果我交换步骤我无法验证自己,因为我有这个错误:"Your account must be confirmed".
编辑:这就是我确认注册的方式:
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(_poolData);
var userData = {
Username : username,
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.getAttributeVerificationCode('email', {
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
console.log("error");
alert(err);
},
inputVerificationCode: function(code) {
var verificationCode = prompt('Check you email for a verification code and enter it here: ' ,'');
cognitoUser.verifyAttribute('email', verificationCode, this);
}
});
我也试过下面这段代码:
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.confirmRegistration('123456', true, function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
但每次我使用您给我的代码来确认用户时,我都会收到此错误消息:"ExpiredCodeException: Invalid code provided, please request a code again."
而用户在我的用户池中得到了很好的确认...
我该如何解决?
您如何确认用户?它应该类似于以下内容:
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.confirmRegistration('123456', true, function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
userData = {
Username: email,
Pool: userPool
};
您的用户数据应包含电子邮件地址而不是用户名。请重新填写
的用户数据
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
我正在使用 Cognito AmazonWebService 和 AngularJS 进行我的应用程序用户管理。
我不知道如何解决这个问题:
注册后,用户会收到一封电子邮件,其中包含用于确认的代码。 当我尝试输入并验证代码时,我有一条弹出消息说 "Error: the user is not authenticated".
但是如果我交换步骤我无法验证自己,因为我有这个错误:"Your account must be confirmed".
编辑:这就是我确认注册的方式:
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(_poolData);
var userData = {
Username : username,
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.getAttributeVerificationCode('email', {
onSuccess: function (result) {
console.log('call result: ' + result);
},
onFailure: function(err) {
console.log("error");
alert(err);
},
inputVerificationCode: function(code) {
var verificationCode = prompt('Check you email for a verification code and enter it here: ' ,'');
cognitoUser.verifyAttribute('email', verificationCode, this);
}
});
我也试过下面这段代码:
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.confirmRegistration('123456', true, function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
但每次我使用您给我的代码来确认用户时,我都会收到此错误消息:"ExpiredCodeException: Invalid code provided, please request a code again."
而用户在我的用户池中得到了很好的确认...
我该如何解决?
您如何确认用户?它应该类似于以下内容:
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.confirmRegistration('123456', true, function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
userData = {
Username: email,
Pool: userPool
};
您的用户数据应包含电子邮件地址而不是用户名。请重新填写
的用户数据var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);