护照 OAUTH 回调后如何在 Reactjs 中获取 JSON 网络令牌?
How to get JSON web token in Reactjs after passport OAUTH callback?
我的服务器和 passport.js 工作正常;但是,它没有将 JWT 令牌发送到我的 React 应用程序(端口:3000),而是将其发送给自己(端口:5000)。为了让它工作,在生成令牌后,我将连同 JWT 令牌一起重定向回 React 应用程序。
//req.user = jwt token
res.redirect(`http://localhost:3000/${req.user}`)
它完成了工作;但是,我觉得将我的可重用令牌作为查询字符串感到非常不舒服
有没有更有效的方式传递这个token?或者我做错了。
如果有帮助,下面是我的代码,可以更好地解释我的过程
反应 "Sign Up Page"
<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-google-login 简化了整个过程。
从 react-google-login 组件获得 google 令牌后,将令牌发送到后端并向 google 发出另一个请求以确保用户有效并继续JWT 进程
我的服务器和 passport.js 工作正常;但是,它没有将 JWT 令牌发送到我的 React 应用程序(端口:3000),而是将其发送给自己(端口:5000)。为了让它工作,在生成令牌后,我将连同 JWT 令牌一起重定向回 React 应用程序。
//req.user = jwt token
res.redirect(`http://localhost:3000/${req.user}`)
它完成了工作;但是,我觉得将我的可重用令牌作为查询字符串感到非常不舒服
有没有更有效的方式传递这个token?或者我做错了。
如果有帮助,下面是我的代码,可以更好地解释我的过程
反应 "Sign Up Page"
<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-google-login 简化了整个过程。
从 react-google-login 组件获得 google 令牌后,将令牌发送到后端并向 google 发出另一个请求以确保用户有效并继续JWT 进程