我正在构建一个基于JWT的身份验证的AngularJS站点。当我成功登录到aplication时,后端会返回一个JWT,并存储在localStorage中。
我想在JWT声明中接收用户的角色,但我从localstorage读取令牌,因此可以简单地修改(例如:使用chrome dev工具),恶意用户可以在JWT中放置假角色
如何使用公钥验证客户端的令牌?我认为NodeJS服务器使用jwt-simple
使用相应的私钥生成令牌提前致谢!
答案 0 :(得分:2)
恶意用户可以在JWT中放置假角色
为什么这是一个问题?恶意用户无法生成有效的令牌,无需知道私钥,服务器无论如何都会在下次请求时验证JWT。
如果要验证JWT以便正确显示GUI,您可以使用JS库,例如: http://kjur.github.io/jsjws/