Also ich bin mit Cognito und ihre Beta-User-Pools Feature in Javascript. Ich schaffe erfolgreich Benutzer dank der Dokumentation hier:Wie authentifizieren Sie einen Benutzer in einem Benutzerpool über Cognito, wenn die Fehlermeldung lautet, dass Benutzername und Kennwort nicht übereinstimmen, obwohl sie dies tun?
Wenn ich versuche, und die Benutzer authentifizieren, obwohl ich eine seltsame Fehlermeldung sagen:
NotAuthorizedException: Falscher Benutzername oder Passwort.
Ich verstehe nicht, warum dies der Fall ist, da ich die Werte für userName und das Passwort, das ich verwendet habe, um den Benutzer zu erstellen, buchstäblich funktioniert, der einwandfrei funktioniert.
Unten ist mein Code, um den Benutzer zu authentifizieren:
//----- 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);
},
});
Haben Sie etwas falsch hier sehen? Ich dachte, vielleicht mein Username Parameter in diesen beiden Orten soll einen anderen Wert oder etwas sein:
var authenticationData = {
Username : 'markie17061993',
Password : 'MeowWoof123456789!',
};
var userData = {
Username : 'markie17061993',
Pool : userPool
};
Dank
Wenn ich den Benutzerpool eingerichtet habe, habe ich keine telefonische oder E-Mail-Bestätigung gewählt, also glaube ich nicht, dass es das ist, oder fehlt mir etwas? Darauf bezieht sich das richtig? –
Auch wenn dies nicht der Fall ist, werden von Cognito-Benutzerpools standardmäßig Benutzer in einem unbestätigten/nicht bestätigten Zustand erstellt. Wenn Sie das nicht möchten, benötigen Sie den PreSignUp-Trigger, der alle Benutzer automatisch bestätigt. –
Vielen Dank! –