0

https://github.com/amachang/facebook-node-sdk decided to use this module to build my facebook integrated login for node.js following the example with express:

var express = require('express');

var Facebook = require('facebook-node-sdk');

var app = express.createServer();
app.configure(function () {
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({ secret: 'foo bar' }));
  app.use(Facebook.middleware({ appId: 'YOUR_APP_ID', secret: 'YOUR_APP_SECRET' }));
});

app.get('/', Facebook.loginRequired(), function (req, res) {
  req.facebook.api('/me', function(err, user) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello, ' + user.name + '!');
  });
});

how to add additional permissions like "email"?

prabir
  • 7,674
  • 4
  • 31
  • 43
Radoslav
  • 1,812
  • 3
  • 17
  • 27

3 Answers3

1

Take a look at the method getLoginUrl in the Facebook Node SDK. You can provide a scope parameter here to specify the email permission. See Permissions for a list of available permissions.

Connor Treacy
  • 1,072
  • 6
  • 12
1
app.get('/', Facebook.loginRequired({scope: 'email'}), function (req, res) {
      /*-----*/
});
n9ti
  • 156
  • 1
  • 4
0

hmm You don't need to edit this file :) all you have to do is add scope to your config, like this:

app.use(Facebook.middleware({ appId: 'YOUR_APP_ID', secret: 'YOUR_APP_SECRET', scope 'YOUR_SCOPE' }))

this config is then passed to getLoginUrl function