Я использую passport.js для управления сессиями и mysql для базы данных.
У меня есть несколько компаний для пользователя.и пользователи имеют разные роли в каждой компании.Я храню роли пользователей в сеансе для компании по умолчанию.потому что я реализовал различные разрешения в зависимости от роли пользователя в серверной части.
req.user даст мне следующий ответ
req.user = {
id: 2,
user_name: 'akamboj1@yopmail.com',
firstname: 'akamboj1',
lastname: 'akamboj1',
email_id: 'akamboj1@yopmail.com',
user_access_token: 'a5049f367613d36eb7e20e9a1f4d4b36',
is_active: 1,
created_at: 2018-02-27T05:36:18.000Z,
user_image: 'profile/images/default.png',
roles: '2,3,4,5,8' }
Я хочу изменить роли пользователя в сеансе, когда пользователь переключаетсяв другую компанию.
Вот мой метод сериализации и десериализации моего паспорта
passport.serializeUser(function (user, done) {
done(null, user.token);
});
// used to deserialize the user
passport.deserializeUser(function (accessToken, done) {
user.getUserByAccessToken(accessToken, function (err, dbUser) {
if (err) {
done(err);
} else {
done(null, dbUser[0]);
}
});
});
Любая идея, как я могу обновить значение сеанса?