在Node.js中记住同一用户的多个通行证认证

时间:2019-04-15 10:46:58

标签: javascript node.js passport.js

我正在尝试制作一个nodejs应用程序(无数据库),该应用程序允许用户使用Instagram,Twitter或两者登录,然后显示基于此的信息。

当前,我创建了一个新的TwitterStrategy和InstagramStrategy,对用户进行序列化和反序列化,并且可以处理到任一站点的登录。

这是我处理身份验证的方式:

app.get("/tw/login", passport.authenticate("twitter"));

app.get("/tw/cb", passport.authenticate("twitter", {
  failureRedirect: "/"
}),
  function(request, response) {
    response.redirect("/")
});

app.get("/ig/login", passport.authenticate("instagram"));

app.get("/ig/cb", passport.authenticate("instagram", {
  failureRedirect: "/"
}),
  function(request, response) {
    response.redirect("/")
});

但是,如果我使用Twitter登录,则可以访问/的响应详细信息,但是直到我登录Instagram为止(此时,我只能通过将请求获取到{{1 }}。

如何做到这一点,以便我能记得在/上的两个回复?

此外,似乎登录到一个站点会覆盖会话中另一个站点的信息,这是不希望的。

0 个答案:

没有答案