我在NodeJ上编写代码,并使用Google的护照本地策略创建一些登录/身份验证,其基本功能是:
passport.serializeUser(function(user, done){
done(null, user.id);
});
passport.deserializeUser(function(id, done){
User.findById(id, function(err, user){
done(err, user);
});
});
现在,当我从浏览器发出请求时,在每个请求中,它首先进入“ serializeUser”函数,并且可以看到我从浏览器获得的用户ID(在网站的Cookie会话中保存为jwt)
我尝试检查我的路线是否安全,并尝试从邮递员向我的路线发出请求,当我使用邮递员检查器时,它的效果很好,并且工作原理相同,但是当我尝试不使用邮递员使用cookie标头或手动设置cookie时却没有工作,它会自动转到我的路线,而无需使用“ serializeUser”,因此req.user中没有任何内容。
我看到许多与此问题相关的问题,例如: Setting Up Postman for API Testing When Using Passport Authorization,但是找到了解决方法,首先将用户名和密码发送给本地策略auth,然后使用令牌,但我只想更轻松一些,可以通过邮递员进行测试,放入cookie或其他东西。此解决方法,向哪个用户发送?谷歌帐户?还是什么?
感谢您的帮助!