护照 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 进程