使用nodejs的Facebook身份验证

使用nodejs的Facebook身份验证,facebook,node.js,authentication,request,response,Facebook,Node.js,Authentication,Request,Response,我正在尝试验证facebook中的用户身份: var querystring = require('querystring'); var http = require('http'); var fs = require('fs'); getCookies(function(cookies){ logIn(cookies); }); function logIn(cookies) { var post_data = querystring.stringify({ 'emai

我正在尝试验证facebook中的用户身份:

var querystring = require('querystring');
var http = require('http');
var fs = require('fs');

getCookies(function(cookies){
  logIn(cookies);
});

function logIn(cookies) {
  var post_data = querystring.stringify({
      'email': 'email@domain',
      'pass': 'password'
  });

  var post_options = {
      host: 'www.facebook.com',
      port: '80',
      path: '/login.php?login_attempt=1',
      method: 'POST',
      headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
          'Content-Length': post_data.length,
          'user-agent': 'Mozilla/5.0',
          'set-cookie': cookies[0]
      }
  };

  var post_req = http.request(post_options, function(res) {
      res.setEncoding('utf8');
      console.log(res.statusCode);
      var data = '';
      res.on('data', function (chunk) {
          data += chunk;
      });
      res.on('end', function () {
          fs.writeFile("C:\\Users\\user\\Desktop\\fb.html", data, function(err) {
              if(err) {
                  console.log(err);
              } else {
                  console.log("The file was saved!");
              }
          });
      });
  });

  post_req.write(post_data);
  post_req.end();
}

function getCookies(callback){
  var get_options = {
      host: 'www.facebook.com',
      port: '80',
      path: '/',
      method: 'GET',
      headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
          'user-agent': 'Mozilla/5.0'
      }
  };

  var get_req = http.request(get_options, function(res) {
      var cookies = res.headers['set-cookie'];
      res.on('end', function (chunk) {
          callback(cookies);
      });
  });

  get_req.write('');
  get_req.end();
}

但响应是我的浏览器中的cookie未启用。请不要建议使用现有库连接到facebook,我正在学习。。。提前感谢您的帮助

Facebook使用OAuth身份验证对用户进行身份验证。我已经使用oAuth模块访问了位于的Linkedin API。您可以尝试同样的方法,看看是否可以调用graph facebook API

希望这有帮助