如何在AngularJS中使用公钥解码JWT?

时间:2015-04-23 20:51:38

标签: javascript angularjs authentication jwt

我正在构建一个基于JWT的身份验证的AngularJS站点。当我成功登录到aplication时,后端会返回一个JWT,并存储在localStorage中。

我想在JWT声明中接收用户的角色,但我从localstorage读取令牌,因此可以简单地修改(例如:使用chrome dev工具),恶意用户可以在JWT中放置假角色

如何使用公钥验证客户端的令牌?我认为NodeJS服务器使用jwt-simple

使用相应的私钥生成令牌

提前致谢!

1 个答案:

答案 0 :(得分:2)

  

恶意用户可以在JWT中放置假角色

为什么这是一个问题?恶意用户无法生成有效的令牌,无需知道私钥,服务器无论如何都会在下次请求时验证JWT。

如果要验证JWT以便正确显示GUI,您可以使用JS库,例如: http://kjur.github.io/jsjws/