【问题标题】:React.js how to get user roles from jwt tokenReact.js 如何从 jwt 令牌中获取用户角色
【发布时间】:2021-04-07 11:06:00
【问题描述】:

我在 react.js 中遇到授权问题。我想将用户角色存储在应用程序上下文中,但我不知道如何从 JWT 令牌中获取它们。 我找到了 3 种可能的解决方案,其中哪一种是最好的?

  • 在客户端加密 JWT。
  • 获取用户角色的另一个请求
  • 使用 jwt 令牌返回用户角色(类似于 { token: , roles : } )。

也许有一些我不知道的更好的选择。感谢所有建议。

【问题讨论】:

    标签: reactjs jwt


    【解决方案1】:
    • 在客户端加密 JWT:不要这样做,让服务器执行逻辑。
    • 另外一个获取用户角色的请求:没关系,但我个人不希望客户提出额外的请求。
    • 使用 jwt 令牌返回用户角色:当然。你可以在这里查看更多信息Is setting Roles in JWT a best practice?

    【讨论】:

    • 我所说的“使用 jwt 令牌返回用户角色”的意思是我不想将用户角色放在 JWT 中,而是在 jwt 之外通过响应返回它。
    • 当然,您可以返回一个同时包含 JWT 令牌和用户角色(在令牌之外)的对象。
    • 还有一个问题应该在哪里存储用户角色。
    • 如果你想缓存角色,那么你可以将角色存储在cookie中。否则将它们存储在 redux 存储中(或者如果您的应用程序在大多数组件中都需要角色,那么在上下文中存储角色是有意义的,不过我仍然更喜欢 redux 存储)。
    【解决方案2】:

    这是这样做的方法,

    使用 jwt 令牌返回用户角色(类似于 { token: , roles : } )。

    但你不必做任何事情,让后端做这些事情

    【讨论】:

      猜你喜欢
      • 2018-01-09
      • 2021-06-01
      • 2022-06-13
      • 2020-09-12
      • 2020-05-05
      • 2021-07-05
      • 2020-09-06
      • 1970-01-01
      • 2017-02-10
      相关资源
      最近更新 更多