【问题标题】:How to deal with changing permissions with JWTs如何使用 JWT 处理更改的权限
【发布时间】:2018-03-09 07:34:24
【问题描述】:

JWT 承诺通过在令牌本身中包含权限来更快/更简单。但是我的问题是:假设用户已登录,并且正在使用包含允许他们访问 A 和 B 的权限信息的 JWT。
然后管理员或其他用户出现并授予该用户在用户仍登录时查看 C 的权限。但由于该用户仍在使用旧的 JWT,他仍然无法访问 C。

这里有哪些选项?将令牌列入黑名单并强制用户重新登录?或者完全忘记基于令牌的权限?

【问题讨论】:

    标签: security authentication jwt


    【解决方案1】:

    JWT 令牌存储在前端的 localStorage 或 cookie 中,因此这是您的应用程序将面临更改权限的问题。

    使用存储在数据库中的每个用户具有唯一 SECRET 的刷新令牌机制,因此通过更改此 SECRET 将强制该特定用户重新登录并获得具有更新权限的新令牌。

    【讨论】:

      【解决方案2】:

      就我个人而言,我只会依赖 JWT 进行身份验证(调用者是谁)。

      对于授权(调用者可以做什么),从您的持久存储中查找调用者角色/权限以获取最新信息。

      【讨论】:

        猜你喜欢
        • 2018-02-19
        • 1970-01-01
        • 1970-01-01
        • 2016-11-09
        • 1970-01-01
        • 1970-01-01
        • 2011-08-30
        • 1970-01-01
        • 2019-01-13
        相关资源
        最近更新 更多