使用JWT在Vue中进行基于角色的身份验证

时间:2017-06-14 20:58:31

标签: rest web vue.js

我正在开发一个带有RESTful Java后端和Vue SPA前端的项目。在弄清楚如何进行用户身份验证的过程中,我遇到了JWT令牌,因为它(sorta)是我正在寻找的,我不顾一切地实现了它。

几周后我意识到,因为客户端显示的内容取决于用户角色,客户端当然需要知道用户角色。出于显而易见的原因,我不想将用户角色存储在我的客户端中。

我的问题:我可以在服务器上创建一个查看Authentication头并返回角色的请求,但这会被保存吗?如果没有,那么角色和JWT令牌有什么共同的策略吗?或者我应该忘记JWT的做事方式并完全实施另一种身份验证?

1 个答案:

答案 0 :(得分:1)

JWT是使用SPA作为Frontend + REST Api作为后端对用户进行身份验证的常用方法。

  1. 您绝对不应在前端应用中存储您的令牌密钥。
  2. 您绝对可以在您的API中执行/user/roles端点,这将返回用户角色列表。
  3. Point 2解决方案100%安全。为什么?即使有人会破解您的前端应用程序以显示他们不应该看到的内容,您的后端也会检查端点上的授权,因此他们不会获取/放置/更改他们在JWT中无权访问的任何数据。