MEAN堆栈facebook登录

时间:2017-01-08 15:26:34

标签: javascript angularjs node.js facebook passport.js

我正在尝试部署使用护照facebook策略的应用程序。我首先在localhost上测试我的应用程序,然后尝试将其部署到AWS。

在我的本地计算机上似乎一切正常,但是当我部署时,我尝试使用多个Facebook帐户登录。

我将收到的变量保存在api调用中并通过angular

检索

然而,我的第一个经过身份验证的用户,一切似乎都运行良好,但当第二个用户进行身份验证时,它将覆盖他的变量,如用户名,个人资料图片等。

我知道为什么会这样做。但我并没有立即考虑解决方案。

这是我验证时的服务器端代码

app.get('/login/facebook',
  passport.authenticate('facebook'));

app.get('/login/facebook/return', 
  passport.authenticate('facebook', { failureRedirect: '/login' }),
  function(req, res) {
    res.redirect('/');
    UserID = req.user.id;
    UserDisplayName = req.user.displayName;

    UserProfileImage = req.user._json.picture.data.url;
    console.log(req.user._json.picture.data.url)

    var User = UserID + UserDisplayName;
    var ProfilePicture = UserProfileImage
    res.json({name: User , url: ProfilePicture});
  });

app.get('/profileInfo', function(req, res){
    var User = UserID + UserDisplayName;
    var ProfilePicture = UserProfileImage
    res.json({name: User , url: ProfilePicture});

});

1 个答案:

答案 0 :(得分:0)

如何存储用户?

从您的代码中我知道您在UserID变量中保存用户的ID,但是当下一个用户登录时,它将被覆盖。

我只是因为我无法看到你的整个代码但是尝试这样的事情:

State