Угловой AWS Cognito Force Сменить пароль - PullRequest
0 голосов
/ 14 июня 2019

Я создаю пользователя Cognito из консоли AWS.Меня просят сменить пароль при первом входе в систему.Я хочу предложить новую страницу или скрыть div на странице входа в систему, чтобы позволить пользователю передать новый пароль.Не могли бы вы помочь мне, как запросить страницу нового пароля с кодом ниже

login.tml

     <div class="login">
        <div>

     <form class="login-form"
     [formGroup]="loginForm"
    (ngSubmit)="onLogin()" >
        <div >
            <div fxFlexFill>
                <mat-form-field >
                  <input
                  type="email"
                  matInput
                  placeholder="Your email"
                  formControlName="email">
                 <mat-error>Invalid or missing email.</mat-error>
                </mat-form-field>
            </div>
        </div>
        <div >
            <div >
                <mat-form-field >
                  <input
                  type="password"
                  matInput
                  placeholder="password"
                  formControlName="password">
               <mat-error>Missing password.</mat-error>
                </mat-form-field>
            </div>
            </div>

Login.ts

  export class Login implements OnInit {

 constructor(private example:ExampleService,
          private _router: Router) {

    }


            onLogin() {
     const email=this.loginForm.get('email').value
   const password=this.loginForm.get('password').value
   this.example.LogIn(email, password).subscribe((data) => {
     this._router.navigate(['/home']);
     }, (err)=> {


   });   
   }

ExampleService.ts

  LogIn(email, password) { 
  return Observable.create(observ => {

 cognitoUser.authenticateUser(authenticationDetails, {

   newPasswordRequired: function(userAttributes, requiredAttributes) {

  //How do I prompt a new password page from here and collect the form 
   value 
  and pass the value on below password paramaters

    const email1={
    email:email
     };
     cognitoUser.completeNewPasswordChallenge(password, email1, this)
     },

    onSuccess: function (result) {
    observ.next(result);
     observ.complete();
     },
   onFailure: function(err) {
    console.log(err);
    observ.error(err);
    },

    });
     });
      }

не знаю, как мне проверить, является ли пользователь впервые или нет.Если это первый пользователь, как мне показать новую страницу в функции обратного вызова (newPasswordRequired: function ()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...