【发布时间】:2018-11-26 00:47:54
【问题描述】:
我正在尝试使用 Google 策略使用 Passport 身份验证。我可以通过 google 对应用程序进行身份验证,但是在它返回到我的快速服务器后,我想将它与配置文件数据一起传递到客户端页面。
这基本上意味着我不想使用模板引擎。
所以一旦我的谷歌回调在这里成功重定向,我需要重定向到我的客户端数据
router.route('/google/callback')
.get(passport.authenticate('google', {
successRedirect: '/users/',
failure: '/error/'
}));
到目前为止,如果没有模板引擎,我找不到任何可以执行此操作的存储库。有人可以帮忙吗?
【问题讨论】:
-
您有更多详细信息吗?这听起来很容易。你能解释一下“回来之后”是什么意思吗?它是什么”? “应用程序”是手机应用程序还是网络应用程序?什么是客户?成功验证后,Google 将简单地调用您的回调。你可以做任何你喜欢的事情。我的标准回调是“/google/redirect”,我们这样做:router.get('/google/redirect',passport.authenticate('google'),(req,res) => { // 处理护照 //console.log(req.user); res.redirect('/admin/dashboard'); })
-
这是一个网络应用程序。到目前为止,客户端是带有 jQuery 的简单 HTML。所以问题是 //console.log(req.user); res.redirect('/admin/dashboard') 这里 /admin/dashboard 寻找服务器端路由,对吗?那么我该如何做是重定向到客户端路由呢?
-
重定向总是在客户端。例如,当我测试时,我重定向到“http:://localhost/admin/dashboard”。 res.redirect 告诉客户端下一个相对于客户端要转到哪个 URL。你希望你的客户去哪里?例如,如果您进行了身份验证,您可能会有如下重定向:redirect('myfavoritesite.com/userid=12325&name=Ralph")
标签: angular express oauth passport.js passport-google-oauth