【发布时间】:2015-07-02 06:23:36
【问题描述】:
我正在使用基于 JWT 的身份验证构建一个 AngularJS 站点。当我成功登录到应用程序时,后端会返回一个 JWT 并存储在 localStorage 中。
我想在 JWT 声明中接收用户的角色,但我从 localstorage 读取了令牌,因此可以简单地修改(例如:使用 chrome 开发工具),恶意用户可以在 JWT 中放置假角色.
如何使用公钥在客户端验证令牌?我假设 NodeJS 服务器使用 jwt-simple 使用相应的私钥生成令牌
提前致谢!
【问题讨论】:
-
“如何在 AngularJS 中解码”的问题毫无意义。 AngularJS 是一个 MVVM 框架,它不关心加密或验证,或任何其他数据结构。您也没有提及这是 JWS 还是 JWE 令牌 - 前者只需要验证;后者解密。最终,声明的验证取决于发生真正基于角色的访问控制的服务器
标签: javascript angularjs authentication jwt