gpt4 book ai didi

authentication - 持久性 "Remember Me"Cookie 的竞争条件

转载 作者:行者123 更新时间:2023-12-04 15:36:58 25 4
gpt4 key购买 nike

根据 Persistent Login Cookie Best Practice ,您永远不应允许多次使用“记住我” token :

A persistent cookie is good for a single login. When authentication is confirmed, the random number used to log in is invalidated and a brand new cookie assigned. Standard session-management handles the credentials for the life of the session, so the newly assigned cookie will not be checked until the next session (at which point it, too, will be invalidated after use).



然后, 您如何处理用户同时访问您网站上的多个 URL 的竞争条件? 我现在确实遇到了这个问题。

假设两个请求同时从浏览器发送到服务器。请求不包含 session cookie,但包含相同的“记住我”cookie。其中一个请求将在另一个请求之前处理,并且将获得一个带有经过身份验证的 session cookie 和重新生成的“记住我”cookie 的响应。

第二个请求中的“记住我” token 现在无效 并在服务器上生成另一个 session ID。此请求失败,因为无法对用户进行身份验证。

我想出了一些可能的解决方案,但似乎没有一个很好。我错过了什么吗?

最佳答案

老问题,但我没有在任何地方找到答案。
我有同样的问题。我的解决方案是将旧 token 存储在数据库中,如果未找到主 token ,则将其用作后备。但我确保旧 token 仅在短时间内有效,例如 token 更改后的几秒钟。然后我只在自上次更新以来已经过去了一段时间时才更改 token ,否则会出现 token 连续更改多次的情况。

关于authentication - 持久性 "Remember Me"Cookie 的竞争条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5948918/

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