Facebook与NodeJS连接

时间:2013-08-08 15:26:45

标签: node.js facebook-javascript-sdk fbconnect facebook-node-sdk

我正在使用express.js和angular,js创建一个Web应用程序,客户端通过facebook进行身份验证。对于facebook身份验证,我使用facebook-node-sdk连接Facebook并检索详细信息。

通过url重定向进行身份验证时,代码运行良好。但是,当我从客户端发送POST请求以调用相同的代码时,相同的代码不会返回结果

服务器代码

app.post('/login', Facebook.loginRequired(), function(req, res){
  var result = {};
  req.facebook.api('/me', function(err, user) {
      console.log(user);
      if(user !== undefined){
        result.status = 1;
        result.name = user.name;
        res.contentType('json');
        res.write(JSON.stringify(result));
        res.render('index')
        res.end();
      }
      else{
        result.status = 0;
        result.name = "Error signing into Facebook";
        res.contentType('json');
        res.write(JSON.stringify(result));
        res.render('/')
        res.end();
      }
    });
});

调用上面的代码时没有错误。 console.log显示:

  

POST / login 302。

那么可以通过POST请求对Facebook进行身份验证,还是应该始终是直接的URL请求?如果是这样的任何选项通过POST进行身份验证?

1 个答案:

答案 0 :(得分:5)

如果您刚刚开始使用其他Oauth身份验证,例如gmail或twitter。我建议使用passport.js。

这简单得多。 http://passportjs.org/