0

Im essayant d'obtenir Cognito de Mot de passe oublié travaillerObtenir Amazon Cognito travailler avec angular2 et tapuscrit

Im en utilisant: Angular2 + Tapuscrit + ionique

Je suis assez nouveau à ce processus, mais je suivais Quickstart je l'ai trouvé d'ici https://www.libhive.com/providers/npm/packages/amazon-cognito-identity-js

Peu importe ce que je semble faire, je reçois toujours ne peut pas lire la propriété « CognitoUser » undefined, ou une erreur similaire à celle

import { Component } from '@angular/core'; 
 
import { NavController, LoadingController } from 'ionic-angular'; 
 
import { TabsPage } from '../tabs/tabs'; 
 
import { SignupPage } from '../signup/signup'; 
 
import { ConfirmPage } from '../confirm/confirm'; 
 
import { LoginPage } from '../login/login'; 
 
import {Camera, CameraOptions} from '@ionic-native/camera'; 
 
import { Cognito } from '../../providers/aws.cognito'; 
 
import { User } from '../../providers/providers'; 
 
import { MediaCapture, MediaFile, CaptureError, CaptureImageOptions } from '@ionic-native/Media-Capture'; 
 
import { 
 
    AuthenticationDetails, 
 
    CognitoIdentityServiceProvider, 
 
    CognitoUser, 
 
    CognitoUserAttribute, 
 
    CognitoUserPool 
 
} from "aws-cognito-identity"; 
 
declare var AWS: any; 
 
declare const aws_cognito_identity_pool_id; 
 
declare const aws_cognito_region; 
 

 
var AmazonCognitoIdentity = require('amazon-cognito-identity-js'); 
 
var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool; 
 
var CognitoUser = AmazonCognitoIdentity.CognitoUser; 
 

 

 
recovery() 
 
    { 
 
    AWS.config.region = aws_cognito_region; 
 
    var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool; 
 
    var userData = { 
 
     Username : ‘testuser’, 
 
     Pool : aws_cognito_identity_pool_id 
 
    }; 
 
    
 
    var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData); 
 
    
 

 
     // call forgotPassword on cognitoUser 
 
     cognitoUser.forgotPassword({ 
 
      onSuccess: function(result) { 
 
       console.log('call result: ' + result); 
 
      }, 
 
      onFailure: function(err) { 
 
       alert(err); 
 
      }, 
 
      inputVerificationCode() { // this is optional, and likely won't be implemented as in AWS's example (i.e, prompt to get info) 
 
       var verificationCode = prompt('Please input verification code ', ''); 
 
       var newPassword = prompt('Enter new password ', ''); 
 
       cognitoUser.confirmPassword(verificationCode, newPassword, this); 
 
      } 
 
     }); 
 
    
 
    alert("It should have worked"); 
 
    }

Répondre

1

Je trié ce en suivant façon en important tout ce que je demandais

import { 
    CognitoIdentityServiceProvider, 
    AuthenticationDetails, 
    CognitoUserPool, 
    CognitoUser, 
    CognitoUserAttribute, 
    ICognitoUserAttributeData, 
    ISignUpResult, 
    CognitoUserSession, 
    } from 'amazon-cognito-identity-js'; 

    import * as AWS from 'aws-sdk'; 

puis utilisait dans mes fonctions

  const userPool = this._getUserPoolData(); 

      const user = new CognitoUser({ Username: usrLoginDetails.username, Pool: userPool }); 
      const authenticationData = { Username: usrLoginDetails.username, Password: usrLoginDetails.password }; 
      const authenticationDetails = new AuthenticationDetails(authenticationData); 



      user.authenticateUser(authenticationDetails, { 
       onSuccess: result => { 
       //success here 
       }, 
       onFailure: error => {}, //error here, 
       newPasswordRequired:() => {}, // no-op 
       mfaRequired:() => {}, // no-op 
       customChallenge:() => {} // no-op 
      }); 

Je l'ai testé et a obtenu il fonctionne sans aucun problème. Faites-moi savoir si cela fonctionne pour vous!

+0

Merci! Je l'ai au travail –