我会说,有两种选择:
选项1
保持JWT轻盈
将OAuth2“授权代码”授予类型与刷新令牌和访问令牌一起使用
使用像LFU这样的驱逐策略在集中式分布式缓存系统中缓存用户权限
在访问令牌续订期间(根据访问令牌有效期定期更新),获取用户的最新访问权限并刷新缓存
如果访问权限在缓存中不可用,请查询Keycloak并在缓存中添加条目
权利的任何变更都将使令牌有效期得到反映
由于缓存,性能会更好
</醇>
从而,
</醇>
选项2
与选项1相同,但您可以在用户权限数据库上使用更改数据捕获(CDC),以便在访问权限发生任何更改时更新缓存。