在PWA中使用Passport.js进行身份验证,而无需在浏览器中打开

时间:2018-10-24 07:54:22

标签: node.js reactjs oauth-2.0 passport.js progressive-web-apps

我尝试了此处给出的答案:redirecting to Google OAuth flow in progressive web app 但其中包括该库,使我使用Materialize CSS的应用中断了,无论如何它仍在浏览器中打开。此外,this Medium article提出了一些优点,为什么您仍然不应该使用该库。

我不确定我的设置是否有问题。前端是托管在AWS上的React,后端是Node.js并通过Heroku托管的Passport.js进行身份验证。目前,我只是简单地链接到我的后端以像这样到达身份验证端点:

<a href="<myHerokuServer>/auth/google">Login with Google</a>

然后像这样进行路由认证:

//google login
router.get(
  "/google",
  passport.authenticate("google", {
    scope: ["profile", "email"]
  })
);

//callback route for google to redirect to
router.get("/google/redirect", passport.authenticate("google"), (req, res) => {
  res.redirect("<myFrontEnd>");
});

是否有可能在PWA内部完成此操作而无需打开浏览器窗口并保留用户的身份验证cookie?

0 个答案:

没有答案