gpt4 book ai didi

session - 您需要在 JWT 中设置过期时间吗?

转载 作者:可可西里 更新时间:2023-11-01 11:13:21 24 4
gpt4 key购买 nike

如果我使用 JWT 和 Redis 的组合在我的应用中实现身份验证层来存储 session 数据,我是否需要在 JWT token 本身中包含过期时间?

例如,当您登录应用程序时,会生成一个 session ID 并添加到 Redis 数据库中,有效期为 3 天。然后该 session ID(连同用户名)用于创建 JWT 负载。在所有身份验证请求中,我确保 token 中的 session ID 存在于 redis 数据库中。如果没有,则 session 已过期,我将颁发一个新 token 。

此实现是否存在安全问题?

最佳答案

没有安全问题,但有人可能会争辩说,通过在 JWT 中包含一个过期字段,Redis 层可以过时。原则上,JWT 允许应用程序变为无状态。如果您的应用程序无论如何都要将其所有 session 数据存储在 Redis 中(因为 JWT 对它来说太大了),有人可能会争辩说,使用 JWT 而不是普通随机 session 标识符的好处已经消失。

底线:JWT 中的 exp 字段是可选的,您可以自由实现另一种机制来实现相同的目的。

关于session - 您需要在 JWT 中设置过期时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34697606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com