我的应用程序的 Google OAuth2 身份验证流程遇到了问题。身份验证过程在我的本地系统上完美运行,但是当我托管应用程序并尝试进行身份验证时,它失败了。以下是问题的详细说明以及我所采取的步骤:
身份验证成功后,服务器会正确重定向,但是当尝试使用
/login/success
路由验证身份验证时,会失败。
尝试从前端访问
/login/success
路由时,我收到 Axios“网络错误”。错误消息表明存在网络问题,但我不确定为什么会发生。
app.get("/login/sucess", async (req, res) => {
if (req.user) {
res.status(200).json({ message: "user is logged in", user: req.user });
} else {
res.status(400).json({ message: "Not Authorized" });
}
});
const getUser = async () => {
try {
const response = await axios.get(
"https://loginwithgooglemern.onrender.com/login/sucess",
{ withCredentials: true }
);
setUserdata(response.data.user);
} catch (error) {
console.log("error", error);
}
};
本地系统上的一切都工作得很好,但是当我尝试托管它然后尝试进行身份验证时,身份验证部分也可以工作并且服务器成功重定向,但随后出现了问题......我写了一个“/login/success” " 验证用户是否已成功通过身份验证的路由。
我希望应用程序在托管版本上正常工作,但我认为不知何故,cookie 没有在托管版本上正确发送,因为我没有找到“/login/success”路由不返回的任何其他原因对于登录用户来说为 true...
我已经添加了所有必需的信息...过去 15 天我一直在解决这个问题,任何帮助将不胜感激...谢谢
嘿,我也遇到了同样的错误问题:成功 google 登录后,cookie 被设置在前端,但是当我向 auth/google/success 发出后续请求时,该请求不会携带 cookie。所以我收到“未经授权”错误。
如果您得到任何解决方案,请在此处提及。