我在我的应用程序中使用JWT并且我定义了我的声明:
const claims = {
iss: process.env.DOMAIN, // The URL of your service
sub: user.email, // The UID of the user in your system
scope: "game",
email: user.email
};
虽然这种方法运行正常,但我并不喜欢将会话数据添加到声明对象中,这使得它也可以在前端使用。相反,我想仅在后端保留某些会话数据,例如:
nJwt.verify(socket.handshake.query.token, app.get("jwt.secret"), (err, decoded) => {
if (err) return;
// pseudo code
Session.of(decoded.body.email).get("cheater_accuracy"); // 0.48912715
});
对我而言,理想的方法是将索赔对象保持为这样简单:
const claims = {
iss: process.env.DOMAIN,
sub: user.email,
scope: "game",
email: user.email
};
并且仅在后端保留每个会话数据,这可以在任何时候由令牌引用。
有没有办法做到这一点?
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为快速会话应该有效,用法通常是:
app.use(express.cookieParser());
app.use(express.session({secret: 'yoursecretword'}));
app.get('/some-page', function(req, res) {
req.session.lastPage = '/laspage';
res.send('Some response');
});