Я использую NGRX в приложении Angular, и я пытаюсь использовать Auth Guard. когда приложение запускается, я отправляю действие, которое получает статус авторизации с сервера (firebase). Проблема заключается в том, что, если я перейду непосредственно к ссылке, которая защищена средством проверки подлинности, по умолчанию состояние проверки подлинности равно false, поэтому оно возвращается и перенаправляется на страницу входа.
Вот мой метод canActivate
canActivate() {
return this.store.select(fromAuth.getAuthenticatedStatus).pipe(
//filter(isAuth => isAuth == true || isAuth == false),
take(1),
map((isAuth: boolean) => isAuth),
catchError(() => of(false))
)
}
Есть ли способ подождать, пока состояние авторизации не вернется с сервера, прежде чем проверять хранилище на статус аутентификации? Я попытался отфильтровать и удалить оператор take, но, похоже, это не сработало.
Я не хочу помещать вызов на сервер в auth guard, потому что не хочупроверяйте сервер каждый раз, когда я переключаю страницы.