Comment authentifier l'utilisateur SANS pool d'identités/IdentityPoolId, uniquement avec les informations d'identification du pool d'utilisateurs? https://github.com/aws/amazon-cognito-identity-jsAuthentifier l'utilisateur avec les informations d'identification du pool d'utilisateurs Cognito
Exemple 4 lien ci-dessus fonctionne uniquement pour/avec piscine d'identité, quand je l'appelle par exemple la méthode
cognitoUser.changePassword('oldPassword', 'newPassword', function(err, result) {}
retrun me erreur de CognitoUser.js, chaîne 602-604
if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {
return callback(new Error('User is not authenticated'), null);
}
Mais quand je l'appelle
cognitoUser.getSession(function(err, session) {if (err) {
alert(err);
return;
}
console.log('session validity: ' + session.isValid());
Ça me donne des jetons de session.
Comment je suis en train d'authentifier l'utilisateur:
const logins = {};
logins['cognito-idp.' + environment.region + '.amazonaws.com/' + environment.UserPoolId] = session.getIdToken().getJwtToken();
// Add the User's Id Token to the Cognito credentials login map.
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
Logins: logins
});
Cela me donne erreur de
Argument of type '{ Logins: {}; }' is not assignable to parameter of type 'CognitoIdentityOptions'.
Ce que je suis en train de réaliser:
1) Comment comprendre que Cognito utilisateur userpool authentifié sans pool d'identités?
2) Comment authentifier l'utilisateur?
3) Objet CognitoUser ont 2 IMMEUBLES:
- session
- signInUserSession
Que sont-ils? Comment les utiliser correctement?
P.S. Lorsque j'utilise comme ça, tout fonctionne bien, mais je dois y parvenir sans pool d'identités
const creds = new AWS.CognitoIdentityCredentials({
IdentityPoolId: environment.IdentityPoolId, // your identity pool id here
Logins: {
// Change the key below according to the specific region your user pool is in.
[`cognito-idp.${environment.region}.amazonaws.com/${environment.UserPoolId}`]: session.getIdToken().getJwtToken()}},
{
region: environment.region
});
AWS.config.credentials = creds;
merci pour l'explication, question mise à jour, getSession -> donnez-moi la session jetons idToken: CognitoIdToken, refreshToken: CognitoRefreshToken, accessToken: CognitoAccessToken) getCurrentUser() - me donner utilisateur de localStorage –