如何判断是否已通过认证

时间:2019-05-30 04:28:38

标签: angular authentication

我正在使用ng-oidc-client程序包,并且在导航栏中,我尝试使用ngIf语句。我遇到的问题是确定用户是否已通过身份验证。

// -------------------- navbar.component.ts ---------------
// Imports for the library
import { OidcFacade } from 'ng-oidc-client';
import { User } from 'oidc-client';

// Constructor
constructor(private oidcFacade: OidcFacade) {}

// Method
isAuthenticated() {
    let isLoggedIn = this.oidcFacade.loggedIn$;
    if (!isLoggedIn) return false;
    return isLoggedIn;
}


// navbar.component.html
<li class="nav-item" [routerLinkActive]='["link-active"]' *ngIf="isAuthenticated() == true">
   <a class="nav-link" (click)='signOutRedirect()'>Sign Out</a>
</li>

1 个答案:

答案 0 :(得分:0)

假设库创建者遵循了observable的命名约定,this.oidcFacade.loggedIn$是一种布尔型observable。

您需要做的就是使用async管道。 *ngIf="oidcFacade.loggedIn$ | async"