我正在尝试根据我在 JWT 令牌中收到的有效负载为我的路由创建一个防护。问题是我有第一个方法 (authService.getToken()) 返回 NbJWTAuthToken 的 Observable,然后我需要使用 token.getPayload() 中的令牌再次查询,然后检索有效负载。
这是我尝试但没有成功的方法:
@Injectable()
export class AdminGuard implements CanActivate {
constructor(private authService: NbAuthService) { }
canActivate() {
return this.authService.getToken()
.pipe(
flatmap(token => token.getPayload()),
tap((account:Account) => account.type === AccountType.ADMIN)
);
}
}
有任何想法吗?