1

一旦用户使用以下代码登录应用程序,我正在尝试实现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..我想用应用程序中的最小代码更改来缩小范围,我知道我可以将它放在一个方法中..但是还有一些其他解决方案将影响所有已实施和将来实施的策略的所有登录方法。

提前致谢!

4

0 回答 0