What is the best facebook connection library for node.js?

I saw several tools for working with node.js and connecting to facebook. However, many of them seem incomplete, overly complex (not abstract), or no longer updated / maintained.

I found these three projects:

https://github.com/DracoBlue/node-facebook-client

https://github.com/dominiek/node-facebook

https://github.com/egorFiNE/facebook-connect

https://github.com/ciaranj/node-oauth

Here, one of the authors even discusses why he again rolled away from his own, due to shortcomings in other implementations:

http://groups.google.com/group/nodejs/browse_thread/thread/bb46cb08e51fdda6

Does anyone have real experience that actually authenticates users and stores their facebook id in their database using node.js and facebook connect?

I have a feeling that there is almost no answer, and I will have to build on top of one of the above systems to make things a lot easier, but first I wanted to check.

Edit: note that you are using the STABLE version of node.js

+21
javascript facebook
Dec 19 '10 at 20:02
source share
3 answers

You did not find ciaranj connect-auth

const fbId = ""; #x const fbSecret = ""; #y const fbCallbackAddress= "http://localhost:4000/auth/facebook"; //var RedisStore = require('connect-redis'); var express= require('express'); var auth= require('connect-auth') var app = express.createServer(); app.configure(function(){ app.use(express.cookieDecoder()); app.use(express.logger()); //app.use(connect.session({ store: new RedisStore({ maxAge: 10080000 }) })); app.use(express.session()); app.use(auth( [ auth.Facebook({appId : fbId, appSecret: fbSecret, scope: "email", callback: fbCallbackAddress}) ]) ); }); app.get('/logout', function(req, res, params) { req.logout(); res.writeHead(303, { 'Location': "/" }); res.end(''); }); app.get('/', function(req, res, params) { if( !req.isAuthenticated() ) { res.send('<html> \n\ <head> \n\ <title>connect Auth -- Not Authenticated</title> \n\ <script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script> \n\ </head><body> \n\ <div id="wrapper"> \n\ <h1>Not authenticated</h1> \n\ <div class="fb_button" id="fb-login" style="float:left; background-position: left -188px"> \n\ <a href="/auth/facebook" class="fb_button_medium"> \n\ <span id="fb_login_text" class="fb_button_text"> \n\ Connect with Facebook \n\ </span> \n\ </a> \n\ </div></body></html>'); } else { res.send( JSON.stringify( req.getAuthDetails()) ); } }); // Method to handle a sign-in with a specified method type, and a url to go back to ... app.get('/auth/facebook', function(req,res) { req.authenticate(['facebook'], function(error, authenticated) { if(authenticated ) { res.send("<html><h1>Hello Facebook user:" + JSON.stringify( req.getAuthDetails() ) + ".</h1></html>") } else { res.send("<html><h1>Facebook authentication failed :( </h1></html>") } }); }); 

app.listen (4000);

facebook settings

+17
Dec 19 '10 at 21:46
source share

I find passport-facebook quite simple and useful.
I also like that the main passport module has 80+ authentication strategies.
(e.g. twitter, google, foursquare, github, digg, dropbox).

From the creator of github README:

 // Set up the strategy passport.use(new FacebookStrategy({ clientID: FACEBOOK_APP_ID, clientSecret: FACEBOOK_APP_SECRET, callbackURL: "http://localhost:3000/auth/facebook/callback" }, function(accessToken, refreshToken, profile, done) { User.findOrCreate({ facebookId: profile.id }, function (err, user) { return done(err, user); }); } )); // Use the authentication app.get('/auth/facebook', passport.authenticate('facebook'), function(req, res){ // The request will be redirected to Facebook for authentication, so // this function will not be called. }); app.get('/auth/facebook/callback', passport.authenticate('facebook', { failureRedirect: '/login' }), function(req, res) { // Successful authentication, redirect home. res.redirect('/'); }); 
+8
Feb 08 '13 at 10:23
source share

I used Brian Noguchi everyauth. It works w / node.js v.0.4.x. You can find it here .

It has built-in mongodb support using the mongoose-auth plugin again written by Brian.

+1
Oct 13 2018-11-11T00:
source share



All Articles