passport OAUTH回调后,如何在Reactjs中获取JSON web令牌



我的服务器和passport.js工作正常;然而,它并没有将JWT令牌发送到我的react应用程序(端口:3000(,而是将其发送到自己(端口:5000(。为了使它发挥作用,在生成令牌后,我重定向回react应用程序以及JWT令牌。

//req.user = jwt token
res.redirect(`http://localhost:3000/${req.user}`)

它完成了任务;但是,将可重复使用的令牌作为查询字符串时,我感到非常不舒服

是否有更有效的方式传递此令牌?或者也许我做错了

如果有帮助的话,下面是我的代码,可以更好地解释我的过程

反应"注册页面">

<a href="http://localhost:5000/api/auth/google">
<button width={"100%"} height={50}>
Register with google
</button>
</a>    

服务器"Auth Routes">

router.get(
"/google",
passport.authenticate("google", {
session: false,
scope: ["profile", "email"]
})
);
router.get(
"/google/redirect",
passport.authenticate("google", {
session: false,
failureRedirect: "http://localhost:3000/register"
}),
(req, res) => {
res.redirect(`http://localhost:3000/${req.user}`);
}
);

我没有添加护照设置,因为它正在工作;然而,如果有一种更有效的方法来解决这个问题,包括护照设置,那么我将非常乐意将其添加到这个问题中。如果有任何帮助,我将不胜感激。干杯

我没能解决这个问题,但简单地使用react谷歌登录简化了整个过程。

一旦你从react谷歌登录组件获得谷歌令牌,将令牌发送到后端,并向谷歌发出另一个请求,以确保用户有效,并继续JWT过程

最新更新