Pasaporte-Facebook dando dos ID de Facebook diferentes

Intenté implementar facebook OAUTH para mis aplicaciones (web y móvil) utilizando Sails.js / Node.js y Mongo como mi backend. Escribí una función dedicada para acceder a los endpoints de cada aplicación porque la aplicación web necesita una URL de callback y el móvil no. La captura de pantalla de mi código está disponible a continuación. Pero, me di cuenta de que los dos me dan dos ID de Facebook diferentes. Estoy confundido, ¿no debería ser el facebookId único? Estoy utilizando estos dos módulos FacebookStrategy = require('passport-facebook').Strategy FacebookTokenStrategy = require('passport-facebook-token').Strategy

Strategy web

 passport.use(new FacebookStrategy({ clientID : facebook.clientID, clientSecret : facebook.clientSecret, profileFields : ['id', 'email', 'last_name', 'first_name', 'gender', 'link', 'verified', 'updated_time', 'timezone', 'age_range'], passReqToCallback: true }, function(req, accessToken, refreshToken, profile, done) { authenticate(req, accessToken, refreshToken, profile, done); } )); 

La authenticate function being pointed at

  var authenticate = function (accessToken, refreshToken, profile, done) { User.findOne({facebookId: profile.id}).then(function (user){ if (user) { return [user, {accessToken: accessToken, refreshToken: refreshToken}] } else { var data = { facebookId: profile.id, firstname: profile._json.first_name, lastname: profile._json.last_name, email: profile._json.email, gender: profile._json.gender, fb_profile_url: profile._json.link, fb_verified: profile._json.verified, fb_updated_time: profile._json.updated_time, phonenumber: profile._json.phone } var userQry = User.create(data); } return [userQry, {accessToken: accessToken, refreshToken: refreshToken}] }) .spread(function (user, credentials){ if (user) { return done(null, [user, credentials]); } else { return done(null, null); } }) .catch(function (err){ return done(err, null); }); } 

Estrategia de MobileApp