gpt4 book ai didi

api - 是否有必要在每个请求中刷新 token ?

转载 作者:行者123 更新时间:2023-12-04 05:28:56 25 4
gpt4 key购买 nike

我在这里是因为对Google的搜索结果不满意。

我通常在构建SPA,因此对我来说过程很简单:成功登录后,生成一个jwt并将其用于我从客户端发出的每个请求。

有人告诉我,我应该刷新该 token 并针对我提出的每个请求发回一个新 token 。这对我有意义吗?我的意思是,如果有人试图对我进行黑客入侵,则嗅探请求将为黑客提供与我收到的 token 相同的 token ,那么有什么收获呢?

我的意思是,如果我在另一个请求完成之前启动了一个请求该怎么办?从理论上讲,我将发送两次相同的 token ,并且其中一个请求将被拒绝。

如何正确处理?我敢肯定,这件事超出了我自己的想象范围。

最佳答案

这是安全性和便利性之间的折衷。

不,您不需要在每个请求上刷新 token 。但是您绝对希望您的JWT在某个时候过期。这是为了保护您免受JWT盗窃的侵害,在这种情况下,恶意用户可能会使用被盗的访问 token 无限期地获取对目标资源的访问权限。

您可以执行以下操作来处理 token 到期:

  • 实现refresh token flow。认证时,您将发出访问JWT和刷新JWT。访问JWT过期后,您将使用刷新JWT获得新的访问JWT。
  • 实现滑动到期。 JWT有效时间的half到期后,您将发出一个新的JWT。可以找到一个示例here。我建议对 token 可以过期的期限进行最后规定。例如,初始 token 有效期为20分钟,截止日期为8小时。滑动到期8小时后,您将停止发行新 token 。
  • 关于api - 是否有必要在每个请求中刷新 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43877488/

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