小编Ibt*_*man的帖子

如何在passport-twitter策略中使用会话变量req.user

因为我可以req.user通过传入来获取任何路由中的登录用户:

passport.authenticate("jwt", { session: false })
Run Code Online (Sandbox Code Playgroud)

我想允许用户使用除本地登录之外的Twitter登录,因此我在node.js API中有一个passport-twitter策略.如何使用req.user访问本地登录用户?

module.exports = passport => {
  passport.use(
    new Strategy({
        consumerKey: "",
        consumerSecret: "",
        callbackURL: "http://localhost:3000"
      },
      function(token, tokenSecret, profile, cb) {
        Profile.findOne({
          user: req.user._id
        }).then(
          userdetail => {
            userdetail.twuser = profile._json.screen_name;
            userdetail.token = token;
            userdetail.tokenSecret = tokenSecret;

            userdetail.save().then();
            return cb(null, profile);
          }
        )
      }
    )
  );
};
Run Code Online (Sandbox Code Playgroud)

javascript api node.js passport-twitter passport-local

7
推荐指数
1
解决办法
249
查看次数