我有一个简单的需求,就是在Express中存储访问令牌/刷新令牌(不使用localStorage或其他任何东西)。我想将它们存储在一个持久的API中,这样当用户访问之前访问过的页面时,就可以看到访问令牌是否已经存在,如果已经存在,则进行httpOnly调用并登录等等。
我花了一些时间研究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-session一起工作,或者我不知道如何设置/检索cookies,而且文档也没有太大帮助。
所以我在问:如何在Express服务器/httpOnly cookie上持久地存储一些字符串,而不使用store /Redis/MemCache/等?
发布于 2019-10-24 02:22:34
我不得不使用cookieParser。
const cookieParser = require('cookie-parser')
app.use(cookieParser())
// set a cookie
response.cookie('nameOfCookie', 'cookieValue', {
maxAge: 60 * 60 * 1000, // 1 hour
httpOnly: true,
secure: isProduction,
})
// get a cookie
request.cookies.nameOfCookie
// destroy cookie
response.clearCookie('nameOfCookie')https://stackoverflow.com/questions/58528706
复制相似问题