Я вручную добавил пользователя AWS Cognito в пул пользователей моего приложения через консоль управления AWS. Требуемые учетные данные пула пользователей были подтверждены для этого пользователя. Я устанавливаю аутентификацию для контроля доступа к маршрутам. Всякий раз, когда я использую функцию Auth.signIn (), обещание успешно разрешается, однако при вызове Auth.currentAuthenticatedUser () после входа в систему обещание в функции canActivate () возвращает сообщение об ошибке «не аутентифицировано». Я прочитал проблемы GitHub на cookieStorage, вызывающие проблемы с этим, но не настроил это.
sign-in.component.ts
signIn(username, password) {
return new Promise(() => {
Auth
.signIn(username, password)
.then(() => {
this.router.navigate(['main/dashboard']); // navigates to main/dashboard as expected
})
.catch(err => {
this.authenticationError = err.message;
})
});
}
auth.guard.ts
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
return Auth
.currentAuthenticatedUser()
.then(() => {
return true;
})
.catch((err) => {
this.router.navigate(['signin']);
console.log(err) // "not authenticated"
return false;
});
}