如何在Express中保存持久数据?

如何在Express中保存持久数据?,express,session,cookies,storage,Express,Session,Cookies,Storage,我有一个简单的要求,即在Express中存储访问令牌/刷新令牌(不使用localStorage或任何东西)。我想将它们存储在一个持久的httpOnlycookie中,这样用户在访问之前访问过页面的页面时,就可以查看访问令牌是否已经存在,如果已经存在,就进行API调用和登录等等 我花了一些时间研究了express session和cookie session,但就是想不出正确的方法express session需要一个用于生产的存储,我不想将存储设置为只存储访问令牌。这样的东西在开发中起作用: a

我有一个简单的要求,即在Express中存储访问令牌/刷新令牌(不使用
localStorage
或任何东西)。我想将它们存储在一个持久的
httpOnly
cookie中,这样用户在访问之前访问过页面的页面时,就可以查看访问令牌是否已经存在,如果已经存在,就进行API调用和登录等等

我花了一些时间研究了
express session
cookie session
,但就是想不出正确的方法
express session
需要一个用于生产的存储,我不想将存储设置为只存储访问令牌。这样的东西在开发中起作用:

app.use(
  session({
    secret: 'conduit',
    cookie: {
      path: '/',
      maxAge: 60 * 60 * 1000,
      httpOnly: true,
      secure: isProduction,
    },
    resave: false,
    saveUninitialized: false,
  })
)
使用此选项可根据请求进行设置:

request.session.accessToken = accessToken
request.session.save()
但是,如果它在生产环境中不起作用,那就没有什么帮助。我无法使用
cookie会话
,或者我不知道如何设置/检索cookie,文档也没有太大帮助


所以我在问:我如何在不使用store/Redis/MemCache/etc的情况下,以持久的方式在Express server/httpOnly cookie上存储一些字符串?

我不得不使用cookieParser

const cookieParser=require('cookie-parser'))
app.use(cookieParser())
//放一块饼干
响应.cookie('nameOfCookie','cookieValue'{
最大值:60*60*1000,//1小时
httpOnly:true,
安全:isProduction,
})
//拿块饼干
request.cookies.nameOfCookie
//销毁饼干
response.clearCookie('nameOfCookie'))