Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public login(email: string, password: string): Observable<UserModel> {
- const cognitoUser = new CognitoUser(this.getUserData(email));
- cognitoUser.setAuthenticationFlowType('USER_PASSWORD_AUTH');
- const authenticationDetails = new AuthenticationDetails(CognitoUtils.getAuthDetails(email, password));
- const self = this;
- return Observable.create((obs: Observer<UserModel>) => {
- cognitoUser.authenticateUser(authenticationDetails, {
- onSuccess: result => {
- this.session = result;
- const token = result.getIdToken();
- const accessToken = result.getAccessToken();
- this.localStorage.setToken(token);
- this.localStorage.setAccessToken(accessToken);
- obs.complete();
- },
- onFailure: err => {
- obs.error(err);
- },
- newPasswordRequired: (userAttributes, requiredAttributes) => {
- let dialogRef: MatDialogRef<NewPasswordComponent>;
- const config = new MatDialogConfig();;
- config.role = 'dialog';
- config.width = '40%';
- config.data = { newPass: self.newPass };
- dialogRef = self.dialog.open(NewPasswordComponent, config);
- dialogRef.afterClosed().subscribe(result => {
- self.newPass = result;
- cognitoUser.completeNewPasswordChallenge(self.newPass, userAttributes, {
- onSuccess: result => {
- obs.complete();
- },
- onFailure: err => {
- obs.error(err);
- }
- });
- });
- }
- });
- });
- }
- dialogRef.afterClosed().subscribe(result => {
- self.newPass = result;
- cognitoUser.completeNewPasswordChallenge(self.newPass, {"name":"John Doe"}, {
- onSuccess: result => {
- obs.complete();
- },
- onFailure: err => {
- obs.error(err);
- }
- });
Add Comment
Please, Sign In to add comment