您需要使用cookie,会话和会话存储。
如果您使用适当的会话库,它将自动为客户端上的用户和服务器上的会话创建cookie。 在浏览器上,只有sessionID存储在cookie中的服务器上,您可以根据需要添加任意数量的属性。坚持他们,你可以使用Redis。
使用这三个库的组合(注意到的第一和第二实际上是不同的):
- 明确的会话
- 快递会话
- Redis的
那么你的初始化它以这种方式...
var redis = require('redis');
var client = redis.createClient();
var crypto = require('crypto');
var session = require('express-session');
app.use(session({
secret: 'A-SECRET-NOBODY-KNOWS',
resave: false,
saveUninitialized: true,
genid: (req) => {
return crypto.randomBytes(16).toString('hex');;
},
store: new (require('express-sessions'))({
storage: 'redis',
instance: client, // optional
collection: 'sessions' // optional
})
}));
最后使用的会话是简单地
//read
let token = req.session.token
//write
req.session.token= 'A very secret token';
我写了一个tutorial有关于如何使用会话,向下滚动到部分更多信息6.