【问题标题】:Node.js - Should I refresh cookie with each request/response to update expiration time?Node.js - 我应该在每个请求/响应中刷新 cookie 以更新过期时间吗?
【发布时间】:2022-03-12 15:39:23
【问题描述】:

认证方式

在我的 Node.js(带 Express.js)后端,我使用 JWT 对用户进行身份验证,该 JWT 存储在带有 HttpOnly 标志的 cookie 中。 cookie 在 N 小时后过期。中间件检查 JWT 是否有效,然后调用 next() 函数或发送 401 状态。

当前行为

如果 cookie 过期,用户必须重新登录,即使他仍在使用该应用程序。

期望的行为

我希望 cookie 在 N 小时后过期,但只要用户在使用应用程序,就必须更新过期时间。用户应仅在自上次与应用交互后 N 小时后重新登录。

问题

我是否应该为每个响应发送一个新的 cookie,即使唯一改变的是过期时间?这被认为是一种好的做法吗?

【问题讨论】:

    标签: javascript node.js express cookies jwt


    【解决方案1】:

    你需要的叫做refresh-token

    您可以在以下位置找到有关刷新令牌的更多详细信息:

    https://www.rfc-editor.org/rfc/rfc6749#section-1.5https://developer.okta.com/docs/guides/refresh-tokens/main/

    【讨论】:

    • 感谢您的回答。由于它提供的其他好处,我最终使用了刷新令牌:stackoverflow.com/questions/10703532/…。但是,如果有人没有刷新令牌怎么办?他能按照我描述的方法进行吗?
    猜你喜欢
    • 2013-10-02
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多