Сделать регенерацию сессии доступной для всех стратегий входа в систему методом паспорта

Я пытаюсь реализовать session regeneration как только пользователь входит в приложение с помощью следующего кода, я вполне могу реализовать.

passport.authenticate('local', function (err, user, info) {
    if (err || !user) {
      res.status(400).send(info);
    } else 
    {
        req.login(user, function (err){
            if (err) res.status(400).send(err);
            else 
            {
                req.session.regenerate(function(err) 
                {
                    if (err)     console.log(err);
                    else{
                        //reset the cookie header with new session id
                        //return the user object
                    }      
                })
            }
        })
    }
}

Поскольку Passport предлагает вход через различные стратегии, я должен реализовать то же самое во всех остальных strategies... Я хочу сузить это с минимальными изменениями кода в приложении, я знаю, что я могу поместить это в метод..., но есть какое-то другое решение, которое затронет все методы входа в систему всех стратегий, которые реализованы и которые будут реализовано в будущем.

Заранее спасибо!

0 ответов

Другие вопросы по тегам