0
私は現在ログインしていないときにルートが訪れるのを防ぐため、次のコードを私の認証手配に持っていますが、検証されていないユーザーを確認ページに送ることもできます。Authguard anglefire2電子メールが確認されているかどうかを確認
constructor(private af: AngularFire) { }
canActivate(): Observable<boolean> {
return this.af.auth
.take(1)
.map(auth => auth.auth.emailVerified)
.do(emailVerified => {
if (!emailVerified) this.router.navigate(['/verify-email']);
});
}
注:
canActivate(): Observable<boolean> {
return Observable.from(this.auth)
.take(1)
.map(state => !!state)
.do(authenticated => {
if (!authenticated) this.router.navigate(['/login']);
})
}
ここであなたが言ったことを試しました。 error_handler.js:56例外:キャッチされていません:TypeError:ヌルのプロパティ 'auth'を読み取ることができません TypeError:ヌルのプロパティ 'auth'を読み取れません –
'auth'がnullの場合、現在のユーザーは認証されていないため、そのプロパティにアクセスすることはできません。 'auth'が' auth.auth.emailVerified'にアクセスしようとする前に 'auth'がヌルでないことをコードでテストすることで修正できます。 – AngularChef