我在一个域上托管了我的MERN应用程序,我允许在Google控制台中使用URI和JS源代码,但我的auth仍然不起作用,问题是当我在前端fetch('https://example.net/auth/login/success')
时,它返回undefined和err 403,当我在服务器代码中console.log用户时也是如此,它是undefined
router.get('/login/success', (req, res) => {
console.log("REQ.USER")
console.log(req.user) //ALWAYS UNDEFINED <----------
if(req.user){
res.status(200).json({
success: true,
message: 'success',
user: req.user,
cookies: req.cookies
});
}else{
res.status(403).json({error: true, message: 'Not Authorized'})
}
})
但是当我在URL栏中输入https://example.net/auth/login/success
时,它返回了用户的JSON,这很奇怪
我试着在passport.serializeUser
和passport.deserializeUser
中注销用户,那里的用户没有未定义,它用用户的google信息注销了一个完整的对象。
我真的不知道该怎么做,下一步该怎么做,有人有什么建议吗?
这是我的index.js mw
app.use(bodyParser.json({ limit: '100mb' }));
app.use(cookieSession(
{
name: "session",
keys:['weerit'],
maxAge: 24*60*60*1000
}
))
app.use(passport.initialize());
app.use(passport.session());
app.use(cors({
origin: [process.env.FRONTEND_URL, process.env.BACKEND_URL],
methods: 'GET,POST,PUT,DELETE,PATCH',
credentials: true
}));
app.use('/auth', authRoute);
app.use('/api/users', userRoutes);
app.use('/api/listings', listingRoutes);
1条答案
按热度按时间3j86kqsm1#