代码之家  ›  专栏  ›  技术社区  ›  Tunahan Keklik

如果用户仍在网站上时会话过期怎么办

  •  0
  • Tunahan Keklik  · 技术社区  · 2 年前

    假设当用户进入网站时,会话还有5分钟到期。如果服务器要求您登录并自然拥有会话,则用户在5分钟后所做的每一个操作都将被拒绝。 对于用户来说,这不是一种糟糕的体验吗?他们认为自己在5分钟前登录了,但现在点赞、评论、创建等操作被拒绝了,因为你现在没有会话。 有没有办法解决这个问题,或者我必须再次将用户放回登录页面?

    我使用一个基于会话的身份验证系统,用户登录并在浏览器中有一个与会话相关的cookie。我使用的是快递 节点 js,所以如果你想用代码发送解决方案,那就太棒了 节点&表示

    1 回复  |  直到 2 年前
        1
  •  0
  •   Evert    2 年前

    如果您的超时时间如此之短,并且您不断需要获得新的令牌,那么您最好拥有一些前端代码,在到期前更新令牌。

    另一种解决方案是只发送请求,拦截401(如果令牌过期),然后进行刷新并重复第一个操作。

    如果这5分钟只是一个例子,但您的会话长度要合理得多,那么要求用户再次登录并重复该操作就足够了。

    哪一个最适合你,与其说是编程问题,不如说是产品设计问题,所以很难客观地回答。

    冒着听起来像塞子的风险 my oauth2 client 如果知道到期时间,将在OAuth2令牌到期前1分钟安排OAuth2代币刷新。如果没有,它将监听401,并尝试刷新和重复该操作。

    推荐文章