大佬教程收集整理的这篇文章主要介绍了node.js – Passport&JWT&Google策略 – 在google回调后禁用session&res.send(),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用JWT与谷歌登录 – 为此我需要disable session并以某种方式将用户模型传递回客户端.
所有示例都使用magically redirect to ‘/’的谷歌回调.
我如何能:
1.使用passport-google-oauth2时禁用会话.
2. google身份验证后res.send()用户到客户端.
如果我没有朝着正确的方向前进,请随意提出替代方案.
// app.use(session({secret: config.secret}))
2.使用Google身份验证时实际发生的情况是,有一个重定向到谷歌登录页面,如果登录成功,它会将您重定向到您提供的URl.
这实际上意味着一旦谷歌调用你的回调你不能做res.send(令牌,用户) – 它根本不起作用(任何人都可以详述为什么?).所以你强制通过res.redirect(“/”)重定向到客户端.
但是整个目的是传递令牌,这样你也可以做res.redirect(“/?token =”token).
app.get( '/auth/google/callBACk',passport.authenticate('google',{ //successRedirect: '/',failureRedirect: '/',session: false }),function(req,res) { var token = Authservice.encode(req.user); res.redirect("/home?token=" + token); });
但是客户端如何获得用户实体?
所以你也可以以同样的方式传递用户,但它感觉不适合我(在参数列表中传递整个用户实体……).
所以我做的是让客户端使用令牌并检索用户.
function handleNewToken(token) { if (!token) return; localStorageservice.set('token',token); // Fetch activeUser $http.get("/api/authenticate/" + token) .then(function (result) { setActiveUser(result.data); }); }
以上是大佬教程为你收集整理的node.js – Passport&JWT&Google策略 – 在google回调后禁用session&res.send()全部内容,希望文章能够帮你解决node.js – Passport&JWT&Google策略 – 在google回调后禁用session&res.send()所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。