小编Woo*_*ody的帖子

Angular 5可以激活重定向到浏览器刷新时登录

使用angularfire2和firebase的Angular 5身份验证应用.该应用程序可以使用应用程序内链接进行精确导航,例如在登录后重定向到仪表板或通过应用程序中的按钮/链接链接到另一个页面(组件).但是,如果在" http:// localhost:4300/dashboard "页面上我点击了浏览器刷新(Chrome),它会将我重定向回登录页面.在浏览器上使用BACK/NEXT工作正常 - 但我想因为我并没有特别要求去特定的路线.

我有一个NavBar,通过使用订阅,识别我是否登录(见右上方截图...) - 这一切都正常.

在此输入图像描述

我猜测在浏览器刷新或直接URL导航时,它会在确定我是否已经过身份验证之前尝试加载页面.开发控制台从我插入导航栏组件的console.log语句中建议这一点,并且在Angular核心建议我们以开发模式运行之前它们是"未定义"的事实:

在此输入图像描述

app.routes:

import { Routes, RouterModule } from '@angular/router';

import { LoginComponent } from './views/login/login.component';
import { DashboardComponent } from './views/dashboard/dashboard.component';
import { ProfileComponent } from './views/profile/profile.component';

import { AuthGuard } from './services/auth-guard.service';

const appRoutes: Routes = [
  {
    path: '',
    component: LoginComponent
  },
  {
    path: 'dashboard',
    canActivate: [AuthGuard],
    component: DashboardComponent
  },
  {
    path: 'profile',
    canActivate: [AuthGuard],
    component: ProfileComponent
  },
  {
    path: '**',
    redirectTo: ''
  }
];

export const AppRoutes …
Run Code Online (Sandbox Code Playgroud)

authentication firebase-authentication angular

10
推荐指数
1
解决办法
1万
查看次数