#node.js #knex.js #express-session
#node.js #knex.js #экспресс-сеанс
Вопрос:
Я унаследовал экспресс-сайт, который нуждается в некотором обновлении. Существует способ сброса пароля, но мне нужно аннулировать все сеансы пользователей, когда это произойдет, и одновременно разрешить автоматический вход в текущий браузер. Я вроде как новичок в Express, так что кто-нибудь может указать мне направление руководства?
Настройка sessionStore:
const sessionStore = knexSession(session)
const store = new sessionStore({
knex: db
})
app.use(session({
secret: sessionKey,
resave: false,
saveUninitialized: false,
store,
cookie: {
maxAge: null,
httpOnly: true,
secure: app.get('env') !== 'development' || app.get('port') === 443,
}
}))
Сброс пароля:
let data = {
password,
token: null,
expires: null
}
return models.user.update(user.id, user.id, data)
.then(_ => {
//reset session user sessions
//only invalidates the current session
req.logout()
req.session.destroy(function (err) {
res.clearCookie('connect.sid')
res.redirect('/')
});
})