Facebook-Authentifizierung mit Pass und ExpressJS - Warum ist verify-callback nicht aufgerufen?

Ich bin Passport zur Authentifizierung der Benutzer in ein ExpressJS Anwendung. Ich bin versucht, alle Facebook-Routen in Ihrem eigenen Modul, weil ich die Absicht habe, zu unterstützen, andere OAuth-Anbieter. In mein start-script habe ich definiert, die erforderlich FB-Endpunkte:

var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var facebook = require('./routes/facebook');
var login = require('./routes/login');
var http = require('http');
var path = require('path');

var app = express();

/* Configuration stuff here*/

//development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

app.get('/login', login.index);
app.get('/auth/facebook', facebook.fb_auth);
app.get('/auth/facebook/callback', facebook.fb_callback);

Wie Sie sehen können ich bin erfordert meine 'facebook' - Modul enthält die tatsächlichen Routen und Facebook überprüfen-Rückruf. Es sieht wie folgt aus:

var passport = require('passport')
, FacebookStrategy = require('passport-facebook').Strategy
, User = require('../services/user');

passport.use(new FacebookStrategy({
  clientID: 'myclientid',
  clientSecret: 'mysecretkey',
  callbackURL: "http://localhost:3000/auth/facebook/callback" //localhost:3000 domain is registered domain in fb
},
function(accessToken, refreshToken, profile, done) {
   console.log('verify')
  User.findOrCreate(profile, function(err, user){
      if(err) return done(err);
      done(null, user);
  });
}
));

//Redirect the user to Facebook for authentication.  When complete,
//Facebook will redirect the user back to the application at
//    /auth/facebook/callback
exports.fb_auth = function(req, res){
  passport.authenticate('facebook')
};
//Facebook will redirect the user to this URL after approval.  Finish the
//authentication process by attempting to obtain an access token.  If
//access was granted, the user will be logged in.  Otherwise,
//authentication has failed.
exports.fb_callback = function(req, res){
  console.log('callback')
  passport.authenticate('facebook', { successRedirect: '/',
    failureRedirect: '/login' });
};

Kann ich sehen (Protokollierung von stdout), die fb_auth wird aufgerufen, aber der verify-callback-Funktion definiert, die über nie. Bin ich mit Blick auf etwas? Da ist ein Fehler aufgetreten irgendwo kann ich erfassen?

Dank!

InformationsquelleAutor Nick | 2013-10-22
Schreibe einen Kommentar