2017-09-27 56 views
1

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

此处有哪些选项?将令牌黑名单并强制用户再次登录?或忘记基于标记的权限?

回答

1

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

您可以执行这两个东西: -

  1. 更改你的秘密,这将使无效的所有标记,因此将迫使重新登录所有新权限的用户。

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