我正在使用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>
答案 0 :(得分:0)
假设库创建者遵循了observable的命名约定,this.oidcFacade.loggedIn$
是一种布尔型observable。
您需要做的就是使用async
管道。 *ngIf="oidcFacade.loggedIn$ | async"