Angular和JWT - 客户端如何验证令牌?

时间:2017-06-30 15:23:03

标签: angular express jwt angular-router-guards

如果我要提供假的JWT,我意识到Angular会接受它#34;如同大多数教程一样登录,只需检查是否在localStorage中设置了JWT密钥(如果它未过期。)

我是否对使用JWT缺少了什么?我觉得客户端需要检查以确定令牌是否实际来自服务器。请考虑以下情况:

用户使用假的JWT路由/#/admin,其类似于:{'username': 'hacker', 'role': 'admin'}。现在用户向服务器发送一个令牌,检查签名(& expiration),因为秘密签名密钥错误,用户从(API)服务器收到401/403响应,客户端挂起(空白屏幕工具栏)没有来自服务器的有效响应。

这是"安全"或者"好的"用户可以使用假的JWT绕过我的Guard,因为他们无法从服务器获取任何数据?

1 个答案:

答案 0 :(得分:3)

事实上它是正常的。

如果用户的令牌被服务器拒绝,您应该将其注销。

即使他可以通过警卫,他也永远不会从你的管理面板获得任何数据,因为服务器应该拒绝因JWT无效而导致的每一个请求。所以你不用担心。