angular2-jwt检查令牌是否在组件中过期?

时间:2017-03-08 16:49:10

标签: angular token jwt

是否可以在angular 2 app的组件内检查id令牌是否已过期?我使用方法

获得了一个AuthService
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));

在模板中使用它可以正常工作。如果用户已注销,则返回false,在用户登录角度更改检测后重新运行模板中的函数并返回true。

在组件内部使用

public isAuthenticated(): boolean {
  /* check if id_token is expired or not */
  return tokenNotExpired();
}

用户登录后不会更新。需要刷新页面。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:3)

我目前正在办公桌上使用angular2 jwt令牌并遇到同样的问题。 事实证明,我们需要在localStorage中将令牌设置为" id_token"

来自angular2-jwt:

tokenNotExpired - 允许您检查本地存储中是否存在未过期的JWT。如果用户未经过身份验证,这可以用于有条件地显示/隐藏元素并停止导航到某些路线

注意:tokenNotExpired默认情况下会假设令牌名称为 id_token ,除非将令牌名称传递给它,例如:tokenNotExpired(' token_name')。这将在将来的版本中更改为自动使用在AuthConfig中设置的令牌名称。

希望它有所帮助!