angular2-jwt 令牌不起作用,登录功能不起作用



我正在制作一个简单的平均身份验证应用程序,其中 angular2-jwt 用于验证登录的用户,现在,我希望在登录之前,我不希望在导航栏上显示仪表板、配置文件,而在登录后,注册和登录应该被隐藏,所以我 angular2-jwt,但它无法正常工作,我正在分享下面的代码。想要在登录前隐藏仪表板,个人资料

这是我正在使用的导航栏代码

      <ul class="nav navbar-nav navbar-right">
    <li *ngIf="authService.loggedIn()" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
      <a [routerLink]="['/dashboard']">Dashboard</a>
    </li>
    <li *ngIf="!authService.loggedIn()" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
      <a [routerLink]="['/profile']">Profile</a>
    </li>
    <li *ngIf="!authService.loggedIn()" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
      <a [routerLink]="['/login']">Login</a>
    </li>
    <li *ngIf="authService.loggedIn()" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
      <a [routerLink]="['/register']">Register</a>
    </li>
    <li>
      <a *ngIf="authService.loggedIn()" (click)="onLogoutClick()" href="#">Logout</a>
    </li>
  </ul>

这是我做的服务

     loggedIn(){
return tokenNotExpired();

}

但在使用它时,它最初会隐藏仪表板、配置文件和注销,但即使在登录后,这三个链接也会被隐藏,并且不显示:

仍然没有显示,即使我已登录

我正在使用本指南:https://github.com/auth0/angular2-jwt#checking-authentication-to-hideshow-elements-and-handle-routing

这里的问题是,因为你tokenNotExpired返回一个你不能使用的标记 ngIf 直接在函数上,因为它在布尔值上工作,因此按如下方式更改函数,

loggedIn(){
  if(tokenNotExpired() != null){
    return true;
  }
  return false;
}

相关内容

  • 没有找到相关文章

最新更新