如果我要提供一个假的 JWT,我意识到 Angular 会在登录时“接受它”,因为大多数教程只是检查是否在 localStorage 中设置了 JWT 密钥(以及它是否没有过期。)
关于使用 JWT,我有什么遗漏吗?我觉得客户端需要检查令牌是否真的来自服务器。考虑这种情况:
/#/admin
用户使用看起来像这样的假 JWT进行路由: {'username': 'hacker', 'role': 'admin'}
. 现在用户向服务器发送一个令牌,服务器检查签名(和过期),由于秘密签名密钥错误,用户从(API)服务器收到 401/403 响应,客户端挂起(带有工具栏的空白屏幕) 因为没有来自服务器的有效响应。
这是“安全”还是“可以”,用户可以用假的 JWT 绕过我的 Guard,因为他们无论如何都无法从服务器获取任何数据?