我想让科尼托忘记密码去工作
正在使用: Angular2+Typescript+Ionic
我对这个过程相当陌生,但我遵循了从这里找到的快速启动( Quickstart ),https://www.libhive.com/providers/npm/packages/amazon-cognito-identity-js
无论我看起来做什么,我总是不能读取属性‘CognitoUser’的未定义,或类似的错误。
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");
}
发布于 2017-09-19 11:52:15
我已经通过导入我所需要的所有东西来解决这个问题。
import {
CognitoIdentityServiceProvider,
AuthenticationDetails,
CognitoUserPool,
CognitoUser,
CognitoUserAttribute,
ICognitoUserAttributeData,
ISignUpResult,
CognitoUserSession,
} from 'amazon-cognito-identity-js';
import * as AWS from 'aws-sdk';然后在我的功能中使用它
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
});我对它进行了测试,使它没有任何问题地运行。如果这对你有用,请告诉我!
https://stackoverflow.com/questions/46042634
复制相似问题