【问题标题】:Passport Facebook authentication for AngularAngular 的 Passport Facebook 身份验证
【发布时间】:2016-09-28 21:39:12
【问题描述】:

我正在使用 nodejs+express+mongo 和 angularjs(MEAN)。我正在使用 Facebook 护照策略登录,但我似乎无法找到从我的 Angular 客户端访问用户信息(req.user)的方法。 需要注意的是,angular front是在另一个app和web服务器上,除了node express mongo端。

这是我的 nodejs 代码:

      passport.serializeUser(function(user, done){
          done(null, user._id);
        });

      passport.deserializeUser(function(id, done){

        UserModel.findById(id, function(err, user){
          done(err, user);
        });
      });

      passport.use(new FacebookStrategy({
          clientID: config.facebook.appId,
          clientSecret: config.facebook.appSecret,
          callbackURL: config.facebook.redirectUri,
          scope: config.facebook.scope,
          profileFields: ['name','displayName','gender','profileUrl','email']

        },
        function(accessToken, refreshToken, profile, done) {

          UserModel.findOne( {$or:[{'facebook_profile.id': profile.id},{'email':profile.emails[0].value}]}, function(err, user){
            var newuser = new UserModel();
            if(err){

              return done(err);
            }
            if(user){
               return done(null, user);
            }
            else {


              newuser.facebook_profile.id = profile.id;
              newuser.facebook_profile.name = profile.displayName

              return done(null, newuser);



            }
          });
        })
      );

        app.get('/auth/is_auth', function(req, res){

          if (req.isAuthenticated()){
            res.json(req.user);

          }
        })

在此之后,我从邮递员那里致电 http://localhost:3000/auth/is_auth

但是 req.isAuthenticated() 总是 FALSE

怎么回事,我永远无法获取用户信息

【问题讨论】:

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


    【解决方案1】:

    req.isAuthenticated() 为 false,如果您使用 CORS 并且在您的 ajax 请求中您没有将 withCredentials 设置为 true。确保将withCredentials 设置为true

    【讨论】:

      猜你喜欢
      • 2015-03-16
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 2018-02-12
      • 1970-01-01
      • 2018-10-15
      • 1970-01-01
      • 2021-06-01
      相关资源
      最近更新 更多