2

i'm using a localhost to test the passport-facebook authentication, i've been trying to implement the Auth and im getting the error mentioned above i've reviewed similar questions but none seem to help me, i've changed my dns address but to no avail, this is my passport.js code for facebook authentication

const  mongoose  = require("mongoose");
const FacebookStrategy = require('passport-facebook').Strategy;
const passport = require('passport');
const User = module.exports = mongoose.model('User', facebookSchema)


var facebookSchema = mongoose.Schema

module.exports = function (_passport) {}
//serialize the user for the session
passport.serializeUser(function (user, done) {
done(null, user.id);
});

//deserialize the user
passport.deserializeUser(function (id, done) {
User.findById(id, function (err, user) {
done(err, user);
});
});

passport.use('facebook', new FacebookStrategy({
   clientID: 'XXXXXXXXXX',
   clientSecret: 'YYYYYYYYYYYYYYY',
   callbackURL: " http://localhost:3000/auth/facebook/callback",
   enableProof: true,
   profileFields: ['id', 'displayName', 'photos', 'email']
   },
   function (accessToken, refreshToken, profile, done) 
   
  { let newUser = new User();
   // set the user's facebook credentials
   newUser.facebook.email = profile.emails[0].value,
   newUser.facebook.fullName = profile.displayName,
   
   User.findOne({email:newUser.facebook.email }, function(err, user) {
   if(!user) {
   newUser.save(function(err, newUser) {
   if(err) return done(err);
   done(null,newUser);
   });
   } else {
   done(null, user);
   }
   });
   }
  ));

this is my index.js code for initiallizing app

const rfc = require('rfc-3986');
const express = require('express');
const bodyParser = require('body-parser');
var routes = require('./routes/routes'); //importing route
require('./models/userModel')

app = express();
port = 3000;

require("./config/db"); app.get('/success', (req, res) => res.send("You have successfully logged in"));
app.get('/error', (req, res) => res.send("error logging in"));

const passport = require("passport");
app.use(passport.initialize());
app.use(passport.session());
require('./config/passport')(passport);
app.set(rfc)
routes(app, passport);
app.set('view engine', 'ejs')
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended:true}))

app.listen(port,()=>{
    console.log('server listening on localhost:' + port)
});

and this is my routes.js for app routing

app.get('/auth/facebook',
  passport.authenticate('facebook',  {scope:"email"}));

app.get('/auth/facebook/callback',
  passport.authenticate('facebook', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/success');`module.exports = function(app, passport) {
app.get('/auth/facebook',
  passport.authenticate('facebook',  {scope:"email"}));

app.get('/auth/facebook/callback',
  passport.authenticate('facebook', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/success');
  });
}

  });
}

this is the error i get on browser

this is the same error on terminal

Sesugh Asa
  • 31
  • 4

0 Answers0