如果已过期,则重定向到一个新的角度页面,通知用户已过期的会话。
(我的工作区有一个使用MVC窗体身份验证的现有SSO)
前端有6个角。
-
MVC在用户身份验证后生成令牌。
-
导出类AuthGuardService实现CanActivate{
constructor(private _authService: AuthService,
private _router: Router) {}
canActivate(): Observable<boolean> | Promise<boolean> | boolean {
// check if token has expired
if (this._authService.isAuthenticated()) {
return true;
} else {
// redirect to some info page
this._router.navigate(['/error']);
return false;
}
}
-
无法在auth guard中检查令牌过期。
export class AuthService {
tokenObject: AuthUser = new AuthUser();
authClaims: AuthUserClaim[] = [];
constructor() {
let jwt = localStorage.getItem('test-token');
this._assignToken(jwt);
}
isAuthenticated(): boolean {
let jwt = localStorage.getItem('test-token');
if (HELPER.isTokenExpired(jwt)) {
return false;
} else {
return true;
}
}
}